您好,登錄后才能下訂單哦!
這篇文章主要講解了Java開發(fā)如何實現(xiàn)猜拳游戲,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
一、問題簡介
通過控制臺方式實現(xiàn)一個人機(jī)對戰(zhàn)的猜拳游戲,用戶通過輸 入(1.剪刀2.石頭3.布),機(jī)器隨機(jī)生成(1.剪刀2.石頭3.布),勝者積分,3局以后通過積分的多少判定勝負(fù)。
二、代碼邏輯簡介
1、向用戶解釋比賽規(guī)則;
2、接收用戶輸入的內(nèi)容并判斷用戶輸入的內(nèi)容是否符合要求,如果不符合,重新輸入。
3、電腦自動生成數(shù)字;
4、根據(jù)電腦和用戶輸入的內(nèi)容,進(jìn)行比較二者的勝負(fù)
5、讓用戶連續(xù)進(jìn)行多場比賽,直到一方達(dá)到3分,比賽結(jié)束。
三、知識點(diǎn)
1、掌握J(rèn)ava的Scanner、while循環(huán)、switch、if 判斷語句,能判別用戶輸入的類型是否為int類型。
2、部分封裝內(nèi)容。
3、能熟練梳理游戲的邏輯。
四、代碼
package homework; import java.util.Random; import java.util.Scanner; class Demo3 { public static void main(String[] args) { game g=new game(); g.caiquan(); } } //確定用戶和電腦猜拳內(nèi)容 class game{ String people; String computer; int count1; int count2; public void caiquan() { //解釋比賽規(guī)則 System.out.println("猜拳游戲\n比賽規(guī)則:用戶通過輸入數(shù)字(1-剪刀,2—石頭,3-布)與電腦進(jìn)行對戰(zhàn),當(dāng)某一方的分?jǐn)?shù)達(dá)到率先達(dá)到10分,該方勝利!"); while(true) { System.out.println("請輸入數(shù)字:"); int a; //判斷用戶輸入的內(nèi)容是否 while (true) { Scanner input = new Scanner(System.in); //正確接收用戶輸入的內(nèi)容 if (input.hasNextInt()) { int b=input.nextInt(); if (b>0&&b<4) { a=b; break ; }else { System.out.println("輸入的數(shù)字不在規(guī)定的范圍,請重新輸入"); b=input.nextInt(); } }else { System.out.println("輸入的不是數(shù)字錯誤,請重新輸入"); } } switch (a) { case 1: people = "剪刀"; break; case 2: people ="石頭"; break; case 3: people ="布"; break; } //電腦模擬的內(nèi)容 Random r=new Random(); int b = r.nextInt(3)+1; switch (b) { case 1: computer = "剪刀"; break; case 2: computer ="石頭"; break; case 3: computer ="布"; break; } //比較兩者勝負(fù) if(a==b) { System.out.println("本場比賽平局!因為你輸入的是"+people+",電腦輸入的是"+computer+"。用戶積分為:"+count1+"電腦積分為:"+count2); }else if(a==1&&b==2||a==2&&b==3||a==3&&b==1) { count1++; System.out.println("恭喜你,你獲勝!因為你輸入的是"+people+",電腦輸入的是"+computer+"。"+count1); }else { count2++; System.out.println("很遺憾,本局電腦獲勝!因為你輸入的是"+people+",電腦輸入的是"+computer+"。用戶積分為:"+count1+",電腦積分為:"+count2); } //比較二者的積分,確定最終的勝利者 if (count1==3||count2==3) { System.out.println("比賽結(jié)束"); if (count1>count2) { System.out.println("恭喜你,獲得最終勝利!\n你獲得"+count1+"分,電腦獲得"+count2+"分。"); }else { System.out.println("很遺憾,電腦獲得最終的勝利。\n你獲得"+count1+"分,電腦獲得"+count2+"分。"); } break; } } } }
看完上述內(nèi)容,是不是對Java開發(fā)如何實現(xiàn)猜拳游戲有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。