? ?用JAVA實現了一個簡單的猜拳游戲,準備記錄下來,算作是總結和回顧吧。程序運行結果如下:
1.首先你需要編寫一個電腦的類,類中有一個記錄獲勝幾次的成員變量,和一個出拳的方法(用取隨機數字來表示電腦出拳),代碼如下:
1 class Computer { 2 int count; 3 4 public int showFist() { 5 Random obj = new Random(); 6 // 利用Random類的nextInt()方法生成0-2之間的數 7 int number = obj.nextInt(3) + 1 ; 8 switch (number) { 9 case 1 : 10 System.out.println("電腦出:石頭" ); 11 break ; 12 case 2 : 13 System.out.println("電腦出:剪刀" ); 14 break ; 15 case 3 : 16 System.out.println("電腦出:布" ); 17 break ; 18 } 19 return number; 20 } 21 }
?2.然后你需要一個和電腦玩耍的人,類中同樣也是一個記錄獲勝的成員變量和一個出拳的方法(取控制臺用戶輸入的數值作為你出拳),代碼如下:
1 class Person { 2 int count; 3 4 public int showFist() { 5 Scanner input = new Scanner(System.in); 6 System.out.println("請出拳:1.石頭 2.剪刀 3.布 0.退出" ); 7 int number = input.nextInt(); 8 switch (number) { 9 case 1 : 10 System.out.println("我出:石頭" ); 11 break ; 12 case 2 : 13 System.out.println("我出:剪刀" ); 14 break ; 15 case 3 : 16 System.out.println("我出:布" ); 17 break ; 18 case 0 : 19 break ; 20 } 21 return number; 22 } 23 }
3.最后就是玩游戲的主體類,類中三個成員變量,分別是電腦、人、記錄玩總次數,還有一個構造函數用來初始化電腦和人對象,一個判斷輸贏的方法,一個打印結果方法,代碼如下:
1 public class FingerGuessing { 2 Person per; 3 Computer com; 4 int count; 5 6 public FingerGuessing() { 7 per = new Person(); 8 com = new Computer(); 9 count = 0 ; 10 } 11 12 public void gameBegin() { 13 System.out.println("==========猜拳小游戲==========" ); 14 System.out.println("= 游戲規則:1.石頭 2.剪刀 3.布 0.退出 =" ); 15 System.out.println("===========================" ); 16 int perno; 17 int comno; 18 do { 19 perno = per.showFist(); 20 if (perno == 0 ) { 21 showResult(); 22 break ; 23 } 24 comno = com.showFist(); 25 if ((perno == comno)) { 26 System.out.println("平局\n" ); 27 this .count++ ; 28 } else if ((perno - comno == -1) || (perno - comno == 2 )) { 29 System.out.println("恭喜,你贏了!\n" ); 30 per.count++ ; 31 this .count++ ; 32 } else { 33 System.out.println("很遺憾,你輸了!\n" ); 34 com.count++ ; 35 this .count++ ; 36 } 37 38 } while (perno != 0 ); 39 40 } 41 public void showResult() { 42 System.out.println("與電腦共較量<" + this .count + ">次;" ); 43 System.out.println("玩家獲勝<" + per.count + ">次;" ); 44 System.out.println("電腦獲勝<" + com.count + ">次;" ); 45 System.out.println("平局<" + ( this .count-per.count-com.count) + ">次;" ); 46 } 47 48 public static void main(String[] args) { 49 FingerGuessing game = new FingerGuessing(); 50 game.gameBegin(); 51 } 52 }
??????? 這樣猜拳小游戲就OK了,來,和我猜拳吧!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
