我一直在批量編碼和東西有點樂趣,我一直在做一個有多個選擇和結局的小文本冒險遊戲。在某個時候,你可以選擇成爲總統。爲什麼我的遊戲的批處理代碼不工作?
:lvl1
cls
color 0a
echo You awake in a dark room.
echo What do you do?
echo.
echo 1) Take the nearest torch.
echo 2) Do nothing.
echo 3) Become the president.
echo 4) Wait, isn't this exactly like The Adventure 1?
set /p answer=
if %answer% == 1 goto lvl2-1
if %answer% == 2 goto bordem
if %answer% == 3 goto presidency
if %answer% == 4 goto yes
基本上我有一個裏面的笑話這裏,因爲這是續集,它是一樣的開頭。 所以你可以選擇總統選項,這是它的代碼。
:presidency
cls
color 0a
echo You decided to become the President
echo What do you do now?
echo.
echo 1) RAISE TAXES!
echo 2) MAKE A SPEECH!
echo 3) NOTHING!
echo 4) DECREASE TAXES!
set /p answer=
if %answer% == 1 goto really?
if %answer% == 2 goto speech
if %answer% == 3 goto uselesspresident
if %answer% == 4 goto thankyouforthat
現在,您應該可以選擇第三個選項,它會帶您到結尾之一。 但我試過在批處理版本中這樣做,但是我看到了無用的屏幕截圖,然後它將我放回到第一級(lvl1)。 下面是uselesspresident代碼:
:uselesspresident
cls
color 0a
echo You did nothing as the president.
echo Worst. President. Ever.
echo Achievement unlocked!: Lazy ass.
echo USELESS PRESIDENT ENDING
echo Play more?
echo (y/n)
set /p answer=
if %answer% == y goto lvl1
if %answer% == n goto menu
我看不到你什麼不好的代碼,說不定可以嗎? 我還沒有測試過我的所有遊戲,所以如果遇到更多的編碼問題,我會將其發佈到本論壇。 謝謝,如果你能找到問題。
編輯:我想通了。我不敢相信我沒有早點想到它,但是在這裏。 我是從文本文件編輯,而不是批量本身,當我意識到這一點:
echo (y/n)
set /p answer
if %answer% == y goto lvl1
if %answer% == n goto menu
這是它以前我固定它,所以我加了等號(=),並固定起來,然後保存。 但我沒有將它導出爲.bat,所以.bat仍然是相同的,但是文本文件已被編輯。 我真的需要記住編輯.bat文件,而不是單獨編輯文本文件。
y/n的簡單測試適用於我(winXP)。我建議註釋掉任何'cls',並且在':uselesspresident'中首先啓用'echo on'。它可能會暗示發生了什麼事情。或者,你有CAPS-LOCK嗎? 'Y!= y',所以你可能還需要測試'Y'和'N'。 – icabod
每個'set/p answer ='放置這個參數以初始化變量'set「answer =」' – foxidrive