java版簡單的猜數(shù)字游戲?qū)嵗a
游戲簡述
游戲涉及到game和player兩個對象,game會產(chǎn)生介于0-9之間的隨機數(shù),下面看看詳細(xì)的實現(xiàn)過程。
程序邏輯:
1.GameLauncher這個類帶有main()
方法,是應(yīng)用程序的入口點
2.main()
中會創(chuàng)建出GuessGame對象,并調(diào)用她的startGame()
方法
3.startGame()
方法是游戲的起點,它會創(chuàng)建3個player,然后挑出猜測的隨即數(shù)字,它會要求player猜測并檢查結(jié)果,過程會被列出來
類:
•GameLauncher.class
•GuessGame.class
•Player.class
GameLauncher.class
public class Gamelauncher { public static void main(String[] args) { GuessGame game = new GuessGame(); game.startGame(); } }
GuessGame.class
public class GuessGame{ //用3個實例變量分別表示3個player對象 Player p1; Player p2; Player p3; public void startGame(){ //創(chuàng)建player對象 p1= new Player(); p2 = new Player(); p3= new Player(); //定義3個變量來保存是否猜中 int guessp1 = 0; int guessp2 =0; int guessp3 = 0; //定義3個變量來保存猜測的數(shù)字 boolean p1isright = false; boolean p2isright =false; boolean p3isright =false; int tarnum =(int)(Math.random()*30); //產(chǎn)生謎底數(shù)字 System.out.println("i guess 1 to 30"); while(true) { System.out.println("number to guess is "+tarnum); p1.guess(); //調(diào)用Player中g(shù)uess方法 p2.guess(); p3.guess(); //取得每個player所猜測的數(shù)字將其列出 guessp1 =p1.number; System.out.println("one "+guessp1 ); guessp2 = p2.number; System.out.println("two "+guessp2); guessp3=p3.number; System.out.println("three "+guessp3); //檢查是否猜中, if (guessp1==tarnum) { p1isright=true; } if (guessp2==tarnum) { p2isright=true; } if (guessp3==tarnum) { p3isright=true; } //如果猜中一個或者多個... if(p1isright||p2isright||p3isright) { System.out.println("we are a winner"); System.out.println("one "+p1isright); System.out.println("two "+p2isright); System.out.println("three "+p3isright); System.out.println("game is over"); break; //因為上面while為true,所以會一直執(zhí)行,直到if語句為真,執(zhí)行下面的break才會結(jié)束循環(huán) } else {System.out.println("123");} } } }
Player.class
public class Player { int number = 0; //要被猜的數(shù)字 public void guess(){ number =(int )(Math.random()*30); System.out.println("i guessing"+number); } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Spring中的Schedule動態(tài)添加修改定時任務(wù)詳解
這篇文章主要介紹了Spring中的Schedule動態(tài)添加修改定時任務(wù)詳解,可能有人會問,為啥不用Quartz,Quartz自然是非常方便強大的,但不是本篇要講的內(nèi)容,本篇就偏要使用SpringSchedule來實現(xiàn)動態(tài)的cron表達(dá)式任務(wù),需要的朋友可以參考下2023-11-11spring boot devtools在Idea中實現(xiàn)熱部署方法
這篇文章主要介紹了spring boot devtools在Idea中實現(xiàn)熱部署方法及注意要點,需要的朋友可以參考下2018-02-02Java實現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實例代碼
本文主要介紹了Java實現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02關(guān)于Java中數(shù)組切片的幾種方法(獲取數(shù)組元素)
這篇文章主要介紹了關(guān)于Java中數(shù)組切片的幾種方法(獲取數(shù)組元素),切片是數(shù)組的一個引用,因此切片是引用類型,在進(jìn)行傳遞時,遵守引用傳遞的機制,需要的朋友可以參考下2023-05-05IDEA中application.properties的圖標(biāo)顯示不正常的問題及解決方法
這篇文章主要介紹了IDEA中application.properties的圖標(biāo)顯示不正常的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04使用idea+gradle編譯spring5.x.x源碼分析
這篇文章主要介紹了idea?+?gradle編譯spring5.x.x源碼,在編譯spring5源碼時需要將項目導(dǎo)入idea中然后編譯配置,本文給大家講解的非常詳細(xì),需要的朋友可以參考下2022-04-04SpringCloudAlibaba微服務(wù)調(diào)用組件OpenFeign的方法
Feign是Netflix開發(fā)的聲明式、模板化的HTTP客戶端,其靈感來自Retrofit、JAXRS-2.0以及WebSocket,Feign可幫助我們更加便捷、優(yōu)雅地調(diào)用HTTP API,這篇文章主要介紹了SpringCloudAlibaba微服務(wù)調(diào)用組件OpenFeign,需要的朋友可以參考下2024-07-07springboot 事件監(jiān)聽的實現(xiàn)方法
這篇文章主要介紹了springboot 事件監(jiān)聽的實現(xiàn)方法,并詳細(xì)的介紹了四種監(jiān)聽方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04Java動態(tài)線程池插件dynamic-tp集成過程淺析
這篇文章主要介紹了Java動態(tài)線程池插件dynamic-tp集成過程,dynamic-tp是一個輕量級的動態(tài)線程池插件,它是一個基于配置中心的動態(tài)線程池,線程池的參數(shù)可以通過配置中心配置進(jìn)行動態(tài)的修改2023-03-03