java版簡(jiǎn)單的猜數(shù)字游戲?qū)嵗a
游戲簡(jiǎn)述
游戲涉及到game和player兩個(gè)對(duì)象,game會(huì)產(chǎn)生介于0-9之間的隨機(jī)數(shù),下面看看詳細(xì)的實(shí)現(xiàn)過程。
程序邏輯:
1.GameLauncher這個(gè)類帶有main()
方法,是應(yīng)用程序的入口點(diǎn)
2.main()
中會(huì)創(chuàng)建出GuessGame對(duì)象,并調(diào)用她的startGame()
方法
3.startGame()
方法是游戲的起點(diǎn),它會(huì)創(chuàng)建3個(gè)player,然后挑出猜測(cè)的隨即數(shù)字,它會(huì)要求player猜測(cè)并檢查結(jié)果,過程會(huì)被列出來
類:
•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個(gè)實(shí)例變量分別表示3個(gè)player對(duì)象 Player p1; Player p2; Player p3; public void startGame(){ //創(chuàng)建player對(duì)象 p1= new Player(); p2 = new Player(); p3= new Player(); //定義3個(gè)變量來保存是否猜中 int guessp1 = 0; int guessp2 =0; int guessp3 = 0; //定義3個(gè)變量來保存猜測(cè)的數(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(); //取得每個(gè)player所猜測(cè)的數(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; } //如果猜中一個(gè)或者多個(gè)... 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; //因?yàn)樯厦鎤hile為true,所以會(huì)一直執(zhí)行,直到if語(yǔ)句為真,執(zhí)行下面的break才會(huì)結(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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- java實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲代碼
- Java編寫猜數(shù)字小游戲
- java實(shí)現(xiàn)猜數(shù)字小游戲
- Java實(shí)現(xiàn)的猜數(shù)字游戲示例
- java實(shí)現(xiàn)猜數(shù)字游戲
- java實(shí)現(xiàn)猜數(shù)字小游戲(Swing版)
- java編寫猜數(shù)字游戲
- Java實(shí)現(xiàn)猜數(shù)字小游戲(有次數(shù)限制)
- 用java實(shí)現(xiàn)猜數(shù)字游戲
- 使用Java實(shí)現(xiàn)一個(gè)不同難度(高、中、低)的猜數(shù)字游戲
相關(guān)文章
Spring中的Schedule動(dòng)態(tài)添加修改定時(shí)任務(wù)詳解
這篇文章主要介紹了Spring中的Schedule動(dòng)態(tài)添加修改定時(shí)任務(wù)詳解,可能有人會(huì)問,為啥不用Quartz,Quartz自然是非常方便強(qiáng)大的,但不是本篇要講的內(nèi)容,本篇就偏要使用SpringSchedule來實(shí)現(xiàn)動(dòng)態(tài)的cron表達(dá)式任務(wù),需要的朋友可以參考下2023-11-11spring boot devtools在Idea中實(shí)現(xiàn)熱部署方法
這篇文章主要介紹了spring boot devtools在Idea中實(shí)現(xiàn)熱部署方法及注意要點(diǎn),需要的朋友可以參考下2018-02-02Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實(shí)例代碼
本文主要介紹了Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02關(guān)于Java中數(shù)組切片的幾種方法(獲取數(shù)組元素)
這篇文章主要介紹了關(guān)于Java中數(shù)組切片的幾種方法(獲取數(shù)組元素),切片是數(shù)組的一個(gè)引用,因此切片是引用類型,在進(jìn)行傳遞時(shí),遵守引用傳遞的機(jī)制,需要的朋友可以參考下2023-05-05IDEA中application.properties的圖標(biāo)顯示不正常的問題及解決方法
這篇文章主要介紹了IDEA中application.properties的圖標(biāo)顯示不正常的問題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04使用idea+gradle編譯spring5.x.x源碼分析
這篇文章主要介紹了idea?+?gradle編譯spring5.x.x源碼,在編譯spring5源碼時(shí)需要將項(xiàng)目導(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)聽的實(shí)現(xiàn)方法
這篇文章主要介紹了springboot 事件監(jiān)聽的實(shí)現(xiàn)方法,并詳細(xì)的介紹了四種監(jiān)聽方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04Java動(dòng)態(tài)線程池插件dynamic-tp集成過程淺析
這篇文章主要介紹了Java動(dòng)態(tài)線程池插件dynamic-tp集成過程,dynamic-tp是一個(gè)輕量級(jí)的動(dòng)態(tài)線程池插件,它是一個(gè)基于配置中心的動(dòng)態(tài)線程池,線程池的參數(shù)可以通過配置中心配置進(jìn)行動(dòng)態(tài)的修改2023-03-03