Java開發(fā)實(shí)現(xiàn)猜拳游戲
本文實(shí)例為大家分享了Java實(shí)現(xiàn)猜拳游戲的具體代碼,供大家參考,具體內(nèi)容如下
一、問題簡介
通過控制臺方式實(shí)現(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('本場比賽平局!因?yàn)槟爿斎氲氖?+people+',電腦輸入的是'+computer+'。用戶積分為:'+count1+'電腦積分為:'+count2); }else if(a==1&&b==2||a==2&&b==3||a==3&&b==1) { count1++; System.out.println('恭喜你,你獲勝!因?yàn)槟爿斎氲氖?+people+',電腦輸入的是'+computer+'。'+count1); }else { count2++; System.out.println('很遺憾,本局電腦獲勝!因?yàn)槟爿斎氲氖?+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; } } }}
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
C++經(jīng)典小游戲匯總
python經(jīng)典小游戲匯總
python俄羅斯方塊游戲集合
JavaScript經(jīng)典游戲 玩不停
java經(jīng)典小游戲匯總
javascript經(jīng)典小游戲匯總
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XML入門的常見問題(三)2. HTTP協(xié)議常用的請求頭和響應(yīng)頭響應(yīng)詳解說明(學(xué)習(xí))3. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過程和條件語句)4. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)5. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別6. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)7. XML在語音合成中的應(yīng)用8. jscript與vbscript 操作XML元素屬性的代碼9. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)10. 不要在HTML中濫用div
