Java實(shí)現(xiàn)和電腦玩剪刀石頭布游戲
剪刀石頭布游戲大家都玩過(guò)吧,今天分享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)文章
單一職責(zé)原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了單一職責(zé)原則的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Java 中使用Spring Security的實(shí)例詳解
Spring Security是一款強(qiáng)大的安全框架,可以幫助用戶保護(hù)Web應(yīng)用程序和REST API的安全性,這篇文章主要介紹了Java 中如何使用Spring Security,需要的朋友可以參考下2023-06-06
Springboot訪問templates html頁(yè)面過(guò)程詳解
這篇文章主要介紹了Springboot訪問templates html頁(yè)面過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
mybatis中使用oracle關(guān)鍵字出錯(cuò)的解決方法
這篇文章主要給大家介紹了關(guān)于mybatis中使用oracle關(guān)鍵字出錯(cuò)的解決方法,文中通過(guò)示例代碼將解決的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08
SpringBoot的ConfigurationProperties或Value注解無(wú)效問題及解決
在SpringBoot項(xiàng)目開發(fā)中,全局靜態(tài)配置類讀取application.yml或application.properties文件時(shí),可能會(huì)遇到配置值始終為null的問題,這通常是因?yàn)樵趧?chuàng)建靜態(tài)屬性后,IDE自動(dòng)生成的Get/Set方法包含了static關(guān)鍵字2024-11-11
IntelliJ IDEA打開多個(gè)Maven的module且相互調(diào)用代碼的方法
這篇文章主要介紹了IntelliJ IDEA打開多個(gè)Maven的module且相互調(diào)用代碼的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02

