Java實現(xiàn)簡易版猜燈謎游戲的示例代碼
前言
燈謎是中秋節(jié)傳統(tǒng)的活動之一,而現(xiàn)代化的方式則是將其制作成一個小游戲,讓用戶在游戲的過程中猜燈謎,互動體驗更佳。在此,我就用自己擅長的開發(fā)語言,制作一款猜燈謎小游戲吧。
如下我就帶著大家一起來制作一個屬于自己的小游戲吧。
游戲簡介
在本小游戲中,隨機生成3個燈謎題目,玩家需要在規(guī)定時間內(nèi)猜對所有燈謎才能通過游戲。每個燈謎有三次機會可以猜測,如果答案錯誤則機會會減少,如果全部機會用盡則游戲結(jié)束。
制作思路
- 準(zhǔn)備燈謎題庫。
- 程序隨機選擇3個燈謎,在屏幕上展示出來,同時也會有輸入?yún)^(qū)域供用戶輸入答案。
- 用戶輸入答案并提交,程序進行判斷,如果正確則提示用戶并顯示下一道燈謎;如果錯誤則機會減少1,如果機會大于0則繼續(xù)猜測,如果機會用盡則游戲結(jié)束。
- 游戲結(jié)束后會顯示答對的燈謎數(shù)量和用時。
實現(xiàn)步驟
這是一個在命令行下實現(xiàn)的猜燈謎游戲,游戲?qū)崿F(xiàn)步驟如下:
- 定義燈謎題庫、燈謎答案、每個燈謎可猜測次數(shù)、正確猜對的燈謎數(shù)量等常量。
- 實現(xiàn)游戲入口的歡迎信息的輸出,告知游戲規(guī)則和注意事項。
- 通過隨機數(shù)生成燈謎題目,一共生成3個燈謎。
- 輸出燈謎題目和提示用戶進行答案輸入。
- 玩家輸入答案,判斷答案是否正確。
- 如果答案正確,則輸出恭喜信息,正確猜對的燈謎數(shù)量+1,進入下一個燈謎的猜測。
- 如果答案錯誤,剩余可猜測次數(shù)-1,提示玩家剩余可猜測次數(shù),并重新提示玩家進行答案輸入。
- 如果可猜測次數(shù)用盡,輸出正確答案,并結(jié)束當(dāng)前燈謎的猜測。
- 如果玩家猜測的3個燈謎中有一個猜錯或者時間超過1分鐘,則游戲結(jié)束。
- 輸出玩家游戲結(jié)果,包括正確猜對的燈謎數(shù)量和用時信息。
代碼實現(xiàn)
游戲源碼分享給小伙伴們,僅供參考:(版權(quán)所有,盜版必究)
public class LanternRiddleGame { //燈謎題庫 private static final String[] RIDDLES = {"燃燒的小太陽", "紅花綠葉紫花白", "打開它,沒人敢吃它", "小姑娘打扮俊,頭上戴著雙寶釵", "四十九個門(1—49),走進一個留作難"}; //燈謎答案 private static final String[] ANSWERS = {"蠟燭", "草莓", "月餅", "梳子", "口香糖"}; //玩家擁有的機會數(shù) private static final int CHANCE = 3; //正確猜對的燈謎數(shù)量 private static int count = 0; //游戲啟動入口 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long startTime = System.currentTimeMillis(); //游戲規(guī)則 printWelcomeMessage(); // 隨機生成3個燈謎 for (int i = 0; i < 3; i++) { int randomIndex = getRandomIndex(RIDDLES.length); String riddle = RIDDLES[randomIndex]; String answer = ANSWERS[randomIndex]; printRiddleMessage(i + 1, riddle); int remainingChance = CHANCE; boolean isAnswerCorrect = false; while (remainingChance > 0) { String input = scanner.nextLine(); //判斷玩家是否答對 if (isAnswerCorrect(input, answer)) { printCorrectMessage(); isAnswerCorrect = true; //猜對次數(shù)+1 count++; break; } else { //玩家機會數(shù)-1 remainingChance--; //如果機會用盡,則結(jié)束游戲。 if (remainingChance == 0) { printAnswerMessage(answer); } else { printWrongMessage(remainingChance); } } } if (!isAnswerCorrect) { break; } } long endTime = System.currentTimeMillis(); printResultMessage(count, endTime - startTime); } private static void printWelcomeMessage() { System.out.println("歡迎參加猜燈謎游戲!"); System.out.println("你需要在規(guī)定時間內(nèi)猜對所有的燈謎才能通過游戲,每個燈謎有3次機會。"); } private static int getRandomIndex(int length) { Random random = new Random(); return random.nextInt(length); } private static void printRiddleMessage(int index, String riddle) { System.out.println(String.format("第%d個燈謎:%s", index, riddle)); System.out.print("請輸入答案:"); } private static boolean isAnswerCorrect(String input, String answer) { return input.equalsIgnoreCase(answer); } private static void printCorrectMessage() { System.out.println("恭喜你,答對了!"); } private static void printWrongMessage(int remainingChance) { System.out.println(String.format("答案不對,你還有%d次機會!", remainingChance)); System.out.print("請再次輸入答案:"); } private static void printAnswerMessage(String answer) { System.out.println(String.format("機會用盡,答案是:%s", answer)); } //輸出游戲結(jié)果 private static void printResultMessage(int count, long usedTime) { if (count == 3 && usedTime <= 60 * 1000) { System.out.println("恭喜你,通過了猜燈謎游戲!"); } else { System.out.println("很遺憾,你沒有通過猜燈謎游戲!"); } System.out.println(String.format("用時:%d秒,共答對了%d個燈謎!", usedTime / 1000, count)); } }
游戲源碼解讀
在程序中定義了常量RIDDLES、ANSWERS、CHANCE和count,分別表示燈謎題庫、燈謎答案、每個燈謎可猜測次數(shù)和正確猜對的燈謎數(shù)量。
printWelcomeMessage()方法用于輸出歡迎信息,告知游戲規(guī)則和注意事項。
在for循環(huán)中,通過getRandomIndex()方法隨機生成一個燈謎題目,并輸出題目和提示用戶輸入答案。
isAnswerCorrect()方法用于判斷用戶輸入的答案是否正確。
如果猜對了燈謎,則輸出恭喜信息,正確猜對的燈謎數(shù)量+1,進入下一個燈謎的猜測。
如果猜錯了燈謎,剩余可猜測次數(shù)-1,并通過printWrongMessage()方法提示用戶還剩余幾次猜測機會,并讓用戶重新輸入答案。
如果猜測次數(shù)用盡,通過printAnswerMessage()方法輸出正確答案,并結(jié)束當(dāng)前燈謎的猜測。
如果用戶猜測的3個燈謎中有一個猜錯或者時間超過1分鐘,則游戲結(jié)束。
printResultMessage()方法用于輸出游戲結(jié)果,包括正確猜對的燈謎數(shù)量和游戲時間。
程序中使用了Scanner和Random兩個類,分別用于接收用戶的輸入和生成隨機數(shù)。
功能演示
首次游戲啟動會進行第一題的謎語解題界面:
回答對3次謎語則會提示:"恭喜你,通過了猜燈謎游戲",意味著你游戲挑戰(zhàn)成功!
如果連續(xù)答錯3次則直接游戲結(jié)束,被pass啦。
有沒有心動的小伙伴想嘗試一下的呀,可以體驗下哇。
以上就是Java實現(xiàn)簡易版猜燈謎游戲的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java猜燈謎游戲的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于@Valid和@Validated驗證List集合的踩坑記錄
這篇文章主要介紹了基于@Valid和@Validated驗證List集合的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07CMD運行Intellij Idea編譯后的class文件操作
這篇文章主要介紹了CMD運行Intellij Idea編譯后的class文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Unity2019-2020 個人版官方免費激活詳細(xì)方法
這篇文章主要介紹了Unity2019-2020 個人版官方免費激活詳細(xì)方法,激活方法分位兩種一種是激活新許可證,一種是手動激活,感興趣的朋友跟隨小編一起看看吧2021-04-04