Java實(shí)現(xiàn)猜數(shù)字小游戲詳解流程
猜數(shù)字游戲
系統(tǒng)自動(dòng)生成一個(gè)隨機(jī)整數(shù)(1-100), 然后由用戶輸入一個(gè)猜測(cè)的數(shù)字. 如果輸入的數(shù)字比該隨機(jī)數(shù)小, 提示 "低 了",
如果輸入的數(shù)字比該隨機(jī)數(shù)大, 提示 "高了" , 如果輸入的數(shù)字和隨機(jī)數(shù)相等, 則提示 "猜對(duì)了
整理思路
1. 我們玩游戲的時(shí)候,都有開始游戲和退出游戲
2. 其次,它要生成一個(gè)隨機(jī)數(shù),如果是固定值,哪有什么意思?
3. 再者,我們要輸入數(shù)字,根據(jù)它反饋的情況進(jìn)行判斷和猜測(cè)數(shù)字的大小
4. 但是我們不可能說一次就判斷成功,所以我們需要一個(gè)循環(huán)輸入
5. 最后,猜對(duì)了數(shù)字之后,我們需要退出游戲模式,重新回到菜單界面,讓用戶選擇玩還是不玩,你總不能說讓別人一直玩,退不出來吧。那這游戲挺砸吧的
現(xiàn)在我們正式開始制作
import java.util.Random; import java.util.Scanner; public class LogicControl { // 注意 自定函數(shù) menu 和 game的位置,不需要放在 main 方法的前面,因?yàn)?java 里 是沒法函數(shù)聲明的說法,要用就直接調(diào)用的 public static void menu(){// 游戲菜單選擇界面 System.out.println("*****************"); System.out.println("**** 1.Play ****"); System.out.println("**** 0.Exit ****"); System.out.println("*****************"); } public static void game(){// 游戲運(yùn)行程序 Scanner scanner = new Scanner(System.in);//為生成一個(gè)隨機(jī)值,做準(zhǔn)備 Random random = new Random();//默認(rèn)隨機(jī)種子是系統(tǒng)時(shí)間,提示 在括號(hào)里加上數(shù)字,它生成一個(gè)指定數(shù),所以最好不要畫蛇添足 int toGuess = random.nextInt(100);// 生成 100 以內(nèi)的數(shù)字 while(true){// 死循環(huán),不猜對(duì)不退出 System.out.println("請(qǐng)輸入你所猜的數(shù)字"); int guess = scanner.nextInt(); if(guess < toGuess){ System.out.println("猜小了"); }else if(guess > toGuess){ System.out.println("猜大了"); }else{// guess == toGuess System.out.println("猜對(duì)了"); break;//猜對(duì)了,才有權(quán)力退出, 當(dāng)然你把游戲插卡拿走,強(qiáng)制退出游戲,我能拿你怎么辦? }// 圖55 } } public static void main(String[] args) {// 首先,主體 類和方法 要先寫好 Scanner scanner = new Scanner(System.in);// 為我們輸入數(shù)據(jù)做好準(zhǔn)備 int input = 0;// 輸入變量初始化 do{ menu();// 玩家進(jìn)入游戲,一開始肯定是游戲界面 System.out.println("請(qǐng)選擇:");// 根據(jù)我們的游戲游戲界面選項(xiàng),決定輸入的值 input = scanner.nextInt();// 輸入變量更新 switch(input){// 使用switch 語句 進(jìn)行,對(duì)輸入數(shù)據(jù)的判斷 case 1:{//如果是 1, 就是play 玩游戲 game();//使用 game 自定義函數(shù),圖54 break;// 游戲結(jié)束,退出游戲,回到游戲主界面. 圖56 } case 0:{// 如果是 0,退出程序,不玩了! System.out.println("退出游戲"); break;// 圖 57 } default:{// 如用用戶輸入的數(shù)據(jù),不是我指定的數(shù)據(jù),則我們需要反饋用戶信息,讓用戶重新選擇 System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入");//圖 53 break;// 注意 break 是可以 switch 和用,break 現(xiàn)在是終止switch 語句,而不是循環(huán)語句 // 這一點(diǎn)是 break的特殊用法 } } }while (input>0);// 條件判斷,如果輸入0和負(fù)數(shù),執(zhí)行完上面的程序后,退出循環(huán)(這是do while 的特點(diǎn),先干再說),結(jié)束游戲 // 如果輸入輸入一個(gè)正數(shù),則循環(huán)繼續(xù),只不過如果該正數(shù)不為1是不能進(jìn)行游戲的,系統(tǒng)會(huì)告知你輸入錯(cuò)誤,請(qǐng)重新選擇 } }
圖1
圖2
圖3
圖4
圖5
到此這篇關(guān)于Java實(shí)現(xiàn)猜數(shù)字小游戲詳解流程的文章就介紹到這了,更多相關(guān)Java 猜數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?Cloud?OpenFeign模版化客戶端搭建過程
OpenFeign是一個(gè)顯示聲明式的WebService客戶端。使用OpenFeign能讓編寫Web Service客戶端更加簡(jiǎn)單,這篇文章主要介紹了Spring?Cloud?OpenFeign模版化客戶端,需要的朋友可以參考下2022-06-06TF-IDF理解及其Java實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了TF-IDF理解及其Java實(shí)現(xiàn)代碼實(shí)例,簡(jiǎn)單介紹了tfidf算法及其相應(yīng)公式,然后分享了Java實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11Java連接SAP RFC實(shí)現(xiàn)數(shù)據(jù)抽取的示例詳解
這篇文章主要為大家學(xué)習(xí)介紹了Java如何連接SAP RFC實(shí)現(xiàn)數(shù)據(jù)抽取的功能,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以了解下2023-08-08jvm垃圾回收GC調(diào)優(yōu)基礎(chǔ)原理分析
談到調(diào)優(yōu),這一定是針對(duì)特定場(chǎng)景、特定目的的事情, 對(duì)于 GC 調(diào)優(yōu)來說,首先就需要清楚調(diào)優(yōu)的目標(biāo)是什么?從性能的角度看,通常關(guān)注三個(gè)方面,內(nèi)存占用(footprint)、延時(shí)(latency)和吞吐量(throughput)2022-01-01Java ArrayList擴(kuò)容問題實(shí)例詳解
這篇文章主要介紹了Java ArrayList擴(kuò)容問題實(shí)例詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02SpringBoot登錄驗(yàn)證碼實(shí)現(xiàn)過程詳解
這篇文章主要介紹了SpringBoot登錄驗(yàn)證碼實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04