Java人機猜拳實現(xiàn)的思路及方法實例
創(chuàng)建四個類:
機器人類
玩家類
游戲類
運行類
一、機器人類:
1.首先創(chuàng)建兩個成員變量,分別作為機器人的名字與積分:
String name; int jifen;
2.然后創(chuàng)建方法“pcname”用于定義機器人的名字:
寫個switch循環(huán)來判斷如果你按1234的話誰來與你對戰(zhàn)
3.然后再創(chuàng)建一個方法“chuquan”來定義機器人出什么,石頭還是剪刀。。:
所以寫個1-3的隨機數(shù)
int suiji=((int)(Math.random()*3)+1);
4.最后switch判斷,1的話是石頭,2剪刀,3布
機器人完整代碼:
import java.util.Scanner; public class pc { String name; int jifen; Scanner input=new Scanner(System.in); public void pcname(){ int pcjuese=input.nextInt(); switch (pcjuese) { case 1: name="張飛"; System.out.println("你選擇了"+name+"對戰(zhàn)"); break; case 2: name="趙云"; System.out.println("你選擇了"+name+"對戰(zhàn)"); break; case 3: name="貂蟬"; System.out.println("你選擇了"+name+"對戰(zhàn)"); break; default: System.out.println("還沒這個人"); } } public int chuquan(){ int suiji=((int)(Math.random()*3)+1); switch (suiji){ case 1: System.out.println(name+"出拳:石頭"); break; case 2: System.out.println(name+"出拳:剪刀"); break; case 3: System.out.println(name+"出拳:布"); break; default: } return suiji; } }
二、玩家類:
1.和機器人一樣,定義兩個成員變量,用于作為名字和積分:
String name="1"; int jifen=0;
2.創(chuàng)建一個“renname”方法,用于定義玩家的昵稱
3.創(chuàng)建一個”chuquan“方法,用于定義玩家出拳
然后switch進行判斷,按1出石頭,按2出剪刀,按3出布
玩家完整代碼:
import java.util.Scanner; public class ren { String name="1"; int jifen=0; Scanner input=new Scanner(System.in); public void renname(){ System.out.println("起一個昵稱吧:"); name=input.next(); System.out.println("你的昵稱為:"+name); } public int chuquan(){ System.out.println("出拳:1.石頭 2.剪刀 3.布"); int show=input.nextInt(); switch (show){ case 1: System.out.println(name+" 出石頭"); break; case 2: System.out.println(name+" 出剪刀"); break; case 3: System.out.println(name+" 出布"); break; default : System.out.println("你準備出個大炮呢?"); } return show; } }
三、游戲類
1.定義兩個成員變量和new兩個對象:
int count; //進行了幾局游戲 int pingju; //平局場次 ren Ren =new ren(); pc computer =new pc();
2.創(chuàng)建“game”方法,用來調用機器人類和玩家類,以及實現(xiàn)游戲功能
3.首先調用Ren.name()來用于讓玩家創(chuàng)建昵稱
3.1.然后調用computer.name()來用于讓玩家選擇和誰對戰(zhàn)
4.一切ok,開始進行功能實現(xiàn):
首先創(chuàng)建兩個變量,一個是機器人出拳,一個是玩家出拳
int pcquan; //pc出拳 int personquan; //人出拳
y/n開始游戲和退出游戲
開始進行游戲功能實現(xiàn)編寫
5.循環(huán)的時候把機器人和玩家出拳的方法賦值給上面兩個定義出拳的變量
6.功能ok后創(chuàng)建一個方法,用于定義計分板,這個就很簡單了,直接附上游戲類完整代碼:
import java.util.Scanner; public class w { int count; //進行了幾局游戲 int pingju; //平局場次 ren Ren =new ren(); pc computer =new pc(); Scanner input=new Scanner(System.in); public void game(){ System.out.println("規(guī)則:1.石頭 2.剪刀 3.布"); Ren.renname(); System.out.print("請選擇對方角色(1.張飛 2.趙云 3.貂蟬): "); // 選擇對方角色 computer.pcname(); System.out.println("要開始嘛?(y/n)"); String yn=input.next(); int pcquan; //pc出拳 int personquan; //人出拳 while (yn.equalsIgnoreCase("y")){ personquan=Ren.chuquan(); //人出拳 pcquan=computer.chuquan(); //pc出拳 if((pcquan==1&personquan==1)|(pcquan==2&personquan==2)|(pcquan==3&personquan==3)){ System.out.println("平局"); pingju++; }else if((pcquan==1&personquan==3)|(pcquan==2&personquan==1)|(pcquan==3&personquan==2)){ System.out.println(Ren.name+"贏了"); computer.jifen++; }else { System.out.println(computer.name+"贏了"); Ren.jifen++; } count++; //表示進行了一局游戲 System.out.println("開始下一輪嘛?(y/n)"); yn=input.next(); if (yn.equalsIgnoreCase("n")){ System.out.println("游戲結束"); result(); } } } //比賽結果 public void result(){ System.out.println("-------------------------------"); System.out.println(Ren.name+" VS "+computer.name); System.out.println("對戰(zhàn)次數(shù):"+count); System.out.println("平局"+pingju+"場"); System.out.println(Ren.name+"贏了"+Ren.jifen+"場"); System.out.println(computer.name+"贏了"+computer.jifen+"場"); if(Ren.jifen> computer.jifen){ System.out.println(Ren.name+"贏了"); }else if (computer.jifen> Ren.jifen){ System.out.println(computer.name+"贏了"); }else { System.out.println("平局"); } } }
三、運行類
這個就不多說了,直接上代碼
public class test { public static void main(String[] args) { w game=new w(); ren ren=new ren(); game.game(); //game.result(); } }
到此這篇關于Java人機猜拳實現(xiàn)思路及方法的文章就介紹到這了,更多相關Java人機猜拳思路及方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot+Redis布隆過濾器防惡意流量擊穿緩存
本文主要介紹了SpringBoot+Redis布隆過濾器防惡意流量擊穿緩存,文中根據實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03一文詳細講解Java的父子繼承、方法的重寫與super關鍵字
Java中繼承是通過extends關鍵字實現(xiàn),幫助減少代碼重復,提高復用性,子類繼承父類的屬性和方法,但私有成員除外,方法重寫(override)使子類改造父類方法以適應新功能,這篇文章主要介紹了Java的父子繼承、方法的重寫與super關鍵字的相關資料,需要的朋友可以參考下2024-10-10