Java實(shí)現(xiàn)和電腦玩剪刀石頭布游戲
剪刀石頭布游戲大家都玩過吧,今天分享Java實(shí)現(xiàn)和電腦玩剪刀石頭布游戲的具體代碼,供大家參考,具體內(nèi)容如下
游戲總類
import java.util.Scanner;
public class Game {
Scanner input = new _Scanner(System.in);
String judge;
int num1;//人返回的數(shù)字
int num2;//機(jī)器返回的數(shù)字
Computer computer = new Computer();
Person person = new Person();
boolean flage=false;
int computerCount=0;
int personCount=0;
int pingCount=0;
int count=0;
public Game( ){
}
public boolean start(String computerName,String inputName) {
System.out.println("要開始了嗎?(y/n):");
judge = input.next();
if (judge.equals("y")) {
do{
count+=1;
flage=false;
num1 = person.hand();
System.out.print(computerName+"出拳:");
num2 = computer.hand();
if((num1==1&&num2==1)||(num1==2&&num2==2)||(num1==3&&num2==3)){
System.out.println("平局");
System.out.println("運(yùn)氣平分秋色!?。。?);
System.out.println("出拳規(guī)則:1.剪刀2.石頭3.布");
pingCount+=1;
}else if((num1==1&&num2==3)||(num1==2&&num2==1)||(num1==3&&num2==2)){
System.out.println("恭喜你,你贏了!?。。。?!");
personCount+=1;
}else if((num2==1&&num1==3)||(num2==2&&num1==1)||(num2==3&&num1==2)){
System.out.println("運(yùn)氣真不好,你輸了?。。。。?!");
computerCount+=1;
}
System.out.println("\n是否進(jìn)行下一輪?(y/n):");
judge = input.next();
switch (judge){
case "y":
flage=true;
break;
case "n":
System.out.println(computerName+"\t\t"+"vs\t\t"+inputName );
System.out.println("對(duì)戰(zhàn)次數(shù):"+count);
System.out.println("姓名\t\t"+"得分");
System.out.println(inputName +"\t\t"+personCount);
System.out.println(computerName+"\t\t"+ computerCount);
System.out.println("平局\t\t"+ pingCount);
System.out.println("結(jié)果: \t\t呵呵 \t\t笨笨\t\t 下次加油吧");
break;
}
}while (flage);
} else if (judge.equals("n")) {
}
return flage;
}
}
人類
import java.util.Scanner;
public class Person {
Scanner input=new Scanner(System.in);
String personName;
int personNum;
int score;
int num;
//輸入名字
public String personName(String iputName){
this.personName=iputName;
return this.personName;
}
//出拳
public int hand(){
System.out.print("請(qǐng)出拳:1.剪刀\t2.石頭\t3.布(請(qǐng)輸入相應(yīng)的數(shù)字):");
num=input.nextInt();
System.out.print("你出拳:");
if(num==1){
System.out.println("剪刀");
}else if(num==2){
System.out.println("石頭");
}else if(num==3){
System.out.println("布");
}
return num;
}
}
電腦類
import java.util.Random;
import java.util.Scanner;
public class Computer {
Scanner input = new Scanner(System.in);
String name;
Random random = new Random();
public String computerName( int num) {
if (num == 1) {
name = "劉備";
} else if (num == 2) {
name = "孫權(quán)";
} else if (num == 3) {
name = "曹操";
}
return name;
}
//出拳
public int hand(){
int randomNum = random.nextInt(3) % (3 - 1 + 1) + 1;
if(randomNum==1){
System.out.println("剪刀");
}else if(randomNum==2){
System.out.println("石頭");
}else if(randomNum==3){
System.out.println("布");
}
return randomNum;
}
}
main()函數(shù)
import java.util.Scanner;
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Computer computer=new Computer();
Person person=new Person();
Game game=new Game();
System.out.println("************************************");
System.out.println("\t\t\t猜拳\t開始");
System.out.println("************************************");
System.out.println("出拳規(guī)則:1.剪刀2.石頭3.布");
System.out.println("請(qǐng)選擇對(duì)方角色:1.劉備\t2.孫權(quán)\t3.曹操");
System.out.print("請(qǐng)輸入對(duì)戰(zhàn)的角色:");
int num = input.nextInt();
String computerName= computer.computerName(num);
System.out.print("請(qǐng)輸入你的名字:");
String inputName=input.next();
String personName= person.personName(inputName);
System.out.println(computerName+"\t\tvs\t"+personName);
game.start(computerName,inputName) ;
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java默認(rèn)傳入時(shí)間段時(shí)間的實(shí)例
下面小編就為大家?guī)硪黄狫ava默認(rèn)傳入時(shí)間段時(shí)間的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作
這篇文章主要介紹了SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
怎樣使用PowerMockito 測(cè)試靜態(tài)方法
這篇文章主要介紹了使用PowerMockito 測(cè)試靜態(tài)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù)
這篇文章主要介紹了Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
解析Spring RestTemplate必須搭配MultiValueMap的理由
本文給大家介紹Spring RestTemplate必須搭配MultiValueMap的理由,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-11-11
Spring?Boot?項(xiàng)目中?JPA?語法的基本使用方法
這篇文章主要介紹了?Spring?Boot?項(xiàng)目中?JPA?語法的基本使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10
mybatis-plus3.4.0邏輯刪除報(bào)錯(cuò)的解決
這篇文章主要介紹了mybatis-plus3.4.0邏輯刪除報(bào)錯(cuò)的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

