Java實現(xiàn)簡易版猜燈謎游戲的示例代碼
前言
燈謎是中秋節(jié)傳統(tǒng)的活動之一,而現(xiàn)代化的方式則是將其制作成一個小游戲,讓用戶在游戲的過程中猜燈謎,互動體驗更佳。在此,我就用自己擅長的開發(fā)語言,制作一款猜燈謎小游戲吧。
如下我就帶著大家一起來制作一個屬于自己的小游戲吧。
游戲簡介
在本小游戲中,隨機(jī)生成3個燈謎題目,玩家需要在規(guī)定時間內(nèi)猜對所有燈謎才能通過游戲。每個燈謎有三次機(jī)會可以猜測,如果答案錯誤則機(jī)會會減少,如果全部機(jī)會用盡則游戲結(jié)束。
制作思路
- 準(zhǔn)備燈謎題庫。
- 程序隨機(jī)選擇3個燈謎,在屏幕上展示出來,同時也會有輸入?yún)^(qū)域供用戶輸入答案。
- 用戶輸入答案并提交,程序進(jìn)行判斷,如果正確則提示用戶并顯示下一道燈謎;如果錯誤則機(jī)會減少1,如果機(jī)會大于0則繼續(xù)猜測,如果機(jī)會用盡則游戲結(jié)束。
- 游戲結(jié)束后會顯示答對的燈謎數(shù)量和用時。
實現(xiàn)步驟
這是一個在命令行下實現(xiàn)的猜燈謎游戲,游戲?qū)崿F(xiàn)步驟如下:
- 定義燈謎題庫、燈謎答案、每個燈謎可猜測次數(shù)、正確猜對的燈謎數(shù)量等常量。
- 實現(xiàn)游戲入口的歡迎信息的輸出,告知游戲規(guī)則和注意事項。
- 通過隨機(jī)數(shù)生成燈謎題目,一共生成3個燈謎。
- 輸出燈謎題目和提示用戶進(jìn)行答案輸入。
- 玩家輸入答案,判斷答案是否正確。
- 如果答案正確,則輸出恭喜信息,正確猜對的燈謎數(shù)量+1,進(jìn)入下一個燈謎的猜測。
- 如果答案錯誤,剩余可猜測次數(shù)-1,提示玩家剩余可猜測次數(shù),并重新提示玩家進(jìn)行答案輸入。
- 如果可猜測次數(shù)用盡,輸出正確答案,并結(jié)束當(dāng)前燈謎的猜測。
- 如果玩家猜測的3個燈謎中有一個猜錯或者時間超過1分鐘,則游戲結(jié)束。
- 輸出玩家游戲結(jié)果,包括正確猜對的燈謎數(shù)量和用時信息。
代碼實現(xiàn)
游戲源碼分享給小伙伴們,僅供參考:(版權(quán)所有,盜版必究)
public class LanternRiddleGame {
//燈謎題庫
private static final String[] RIDDLES = {"燃燒的小太陽", "紅花綠葉紫花白", "打開它,沒人敢吃它", "小姑娘打扮俊,頭上戴著雙寶釵", "四十九個門(1—49),走進(jìn)一個留作難"};
//燈謎答案
private static final String[] ANSWERS = {"蠟燭", "草莓", "月餅", "梳子", "口香糖"};
//玩家擁有的機(jī)會數(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();
// 隨機(jī)生成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 {
//玩家機(jī)會數(shù)-1
remainingChance--;
//如果機(jī)會用盡,則結(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次機(jī)會。");
}
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次機(jī)會!", remainingChance));
System.out.print("請再次輸入答案:");
}
private static void printAnswerMessage(String answer) {
System.out.println(String.format("機(jī)會用盡,答案是:%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()方法隨機(jī)生成一個燈謎題目,并輸出題目和提示用戶輸入答案。
isAnswerCorrect()方法用于判斷用戶輸入的答案是否正確。
如果猜對了燈謎,則輸出恭喜信息,正確猜對的燈謎數(shù)量+1,進(jìn)入下一個燈謎的猜測。
如果猜錯了燈謎,剩余可猜測次數(shù)-1,并通過printWrongMessage()方法提示用戶還剩余幾次猜測機(jī)會,并讓用戶重新輸入答案。
如果猜測次數(shù)用盡,通過printAnswerMessage()方法輸出正確答案,并結(jié)束當(dāng)前燈謎的猜測。
如果用戶猜測的3個燈謎中有一個猜錯或者時間超過1分鐘,則游戲結(jié)束。
printResultMessage()方法用于輸出游戲結(jié)果,包括正確猜對的燈謎數(shù)量和游戲時間。
程序中使用了Scanner和Random兩個類,分別用于接收用戶的輸入和生成隨機(jī)數(shù)。
功能演示
首次游戲啟動會進(jìn)行第一題的謎語解題界面:

回答對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-07
CMD運行Intellij Idea編譯后的class文件操作
這篇文章主要介紹了CMD運行Intellij Idea編譯后的class文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Unity2019-2020 個人版官方免費激活詳細(xì)方法
這篇文章主要介紹了Unity2019-2020 個人版官方免費激活詳細(xì)方法,激活方法分位兩種一種是激活新許可證,一種是手動激活,感興趣的朋友跟隨小編一起看看吧2021-04-04

