首先創(chuàng)建用戶類和機(jī)器類
創(chuàng)建用戶類(User)
public class User {
String userName;//用戶名
int score; //得分
public int userAttribute() {
System.out.print("請出拳:1.剪刀2.石頭3.布(輸入相應(yīng)的數(shù)字):");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt(); //選擇出拳
switch(choice) {
case 1:
System.out.println("你出拳:剪刀");
break;
case 2:
System.out.println("你出拳:石頭");
break;
case 3:
System.out.println("你出拳:布");
break;
default:
System.out.println("輸入錯(cuò)誤!");
break;
}
return choice; //返回選擇
}
}
創(chuàng)建機(jī)器人類(Robot)
public class Robot {
String robotName; //機(jī)器名
int score;//機(jī)器得分
public int chuQuan() {
int random =(int)(Math.random()*3)+1; //生成3個(gè)隨機(jī)數(shù)
switch(random) {
case 1:
System.out.println(computerName+"出拳:石頭");
break;
case 2:
System.out.println(computerName+"出拳:剪刀");
break;
case 3:
System.out.println(computerName+"出拳:布");
break;
}
return random;
}
}
創(chuàng)建管理類(Administrator)
public class Administrator {
Scanner scanner = new Scanner(System.in);
User User;//用戶玩家
Robot Robot;//電腦玩家
int count;//對戰(zhàn)次數(shù)
//游戲類的初始化方法
public void initial(){
//創(chuàng)建用戶對象
User= new User();
//創(chuàng)建電腦對象
Robot = new Robot();
//初始化對戰(zhàn)次數(shù)為0
count = 0;
}
//開始游戲的方法
public void startGame(){
System.out.println("*******************");
System.out.println("** 猜拳,開始 **");
System.out.println("*******************");
System.out.println("出拳規(guī)則:1.石頭 2.剪刀 3.布");
System.out.println("請輸入你的姓名:");
User.userName = scanner.next();
System.out.print("請選著對方角色(1:劉備 2:孫權(quán) 3:曹操)");
int choose = scanner.nextInt();//接收用戶選擇的角色
switch(choose){
case 1:
Robot.robotName = "劉備";//把值賦給電腦類的name
System.out.println("你選擇了"+Robot.robotName+"對戰(zhàn)");
break;
case 2:
Robot.robotName = "孫權(quán)";
System.out.println("你選擇了"+Robot.robotName+"對戰(zhàn)");
break;
case 3:
Robot.robotName = "曹操";
System.out.println("你選擇了"+Robot.robotName+"對戰(zhàn)");
break;
default:
System.out.println("輸入有誤!");
break;
}
System.out.println("要開始嗎(y/n)");
String con = scanner.next();
if(con.equals("n")){//如果不開始輸入"n"的話 就提示退出
System.out.println("系統(tǒng)退出!");
}
int perFist;//用戶出的拳
int comFist;//計(jì)算機(jī)出的拳
while(con.equals("y")){
//出拳
perFist = User.userAttribute();//調(diào)用用戶類的方法
comFist = Robot.chuQuan();//調(diào)用電腦類的方法
//裁決
if((perFist == 1 && comFist == 1) || (perFist == 2 && comFist == 2) || (perFist == 3 && comFist == 3)){
System.out.println("結(jié)果:你們平局了");//平局
}else if((perFist == 1 && comFist == 3) || (perFist == 2 && comFist == 1) || (perFist == 3 && comFist == 2)){
System.out.println("結(jié)果:你失敗了");
Robot.score++;//記錄電腦贏的分?jǐn)?shù)
}else{
System.out.println("結(jié)果:恭喜,你贏了!");
User.score++;//記錄用戶贏的分?jǐn)?shù)
}
count++;//對戰(zhàn)次數(shù)依次加一
System.out.println("是否進(jìn)入下一輪(y/n)");
con = scanner.next();
}
//如果結(jié)束 則顯示最后的結(jié)果
showResult();
}
//顯示最后的輸出結(jié)果
public void showResult(){
System.out.println("****************************************");
System.out.println(Robot.robotName+"\tVS\t"+User.userName);
System.out.println("對戰(zhàn)次數(shù):"+count);
System.out.println("姓名"+"\t"+"積分");
System.out.println(User.userName+"\t"+User.score);
System.out.println(Robot.robotName+"\t"+Robot.score);
if(User.score>Robot.score){//如果用戶的分?jǐn)?shù)大于電腦的分?jǐn)?shù) 則用戶贏
System.out.println("恭喜"+User.userName+"贏了!");
}else{
System.out.println("恭喜"+Robot.robotName+"贏了!");
}
System.out.println("****************************************");
}
}
最后創(chuàng)建一個(gè)Mian類
public class Mian {
public static void main(String[] args) {
Administrator administrator = new Administrator();
administrator.initial();//調(diào)用初始化方法
administrator.startGame();//調(diào)用開始游戲的方法
}
}
人機(jī)猜拳
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 第八章 教學(xué)評價(jià) 第一節(jié) 從考試文化走向評價(jià)文化 一、教學(xué)評價(jià)的早期發(fā)展 (一)傳統(tǒng)考試階段 ★《學(xué)記》——我國最...
- 今天青石的票圈出鏡率最高的,莫過于張藝謀的新片終于定檔了。 一張滿溢著水墨風(fēng)的海報(bào)一次次的出現(xiàn)在票圈里,也就是老謀...
- 今天主要學(xué)習(xí)了flex布局,學(xué)習(xí)筆記如下: 1.指定flex布局: display:flex(任意容器)...
- 插打法原為少林六合門打法,一代宗師萬籟聲將少林六合門、羅漢門、自然門等內(nèi)外家之所長融為一家,自然門本無固定招式,然...