2013-10-29 29 views
0

我想批量製作一個簡單的遊戲,並且在嘗試從1:2:3或4時不斷收到轉到錯誤。我不知道我們有什麼問題。請告訴我這個問題。謝謝!附:我對此很陌生。轉到錯誤.bat

:start 
@echo off 
color a 
echo Adventue V2 
echo 10/28/2013 
pause 
echo Name? 
set /p name= 
echo Hello %name%! Would you like to start (y/n) 
set /p start= 
if %start% == y goto 1 
if %start% == Y goto 1 
if %start% == n goto start 
if %start% == N goto start 

:1 
echo Let us Begin... 
echo The year is 1673 and you are living on a small farm. What do you do? 
echo 1)Feed Chicken 2)Feed Cow 3)Fetch Water 
set /p 1= 
if %1% == 1 goto 2 
if %1% == 2 goto 3 
if %1% == 3 goto 4 

:2 
echo You go to the chicken pen and find one of your chickens has been killed by a fox. What do you do? 
echo 1)Look For The Fox 2)Tell Your Father 3)Tell Your Mother 
set /p 2= 
if %2% == 1 goto 5 
if %2% == 2 goto 6 
if %2% == 3 goto 7 

:3 
echo You feed The cows and you find a coin purse. What do you do? 
echo 1)Look In It 2)Leave It 
set /p 3= 
if %3% == 1 goto 8 
if %3% == 2 goto 9 

:4 
echo You got to the well to fetch water but the well is empty. What do you do? 
echo 1)Crawl Into It 2)Tell Your Parents 
set /p 4= 
if %4% == 1 goto 10 
if %4% == 2 goto 11 
+0

太謝謝你了! – user2930106

回答

2

我想是因爲你的%number%這是造成這個問題。將您的變量更改爲%variablename%,這應該起作用。

例如,而不是:

:1 
echo Let us Begin... 
echo The year is 1673 and you are living on a small farm. What do you do? 
echo 1)Feed Chicken 2)Feed Cow 3)Fetch Water 
set /p 1= 
if %1% == 1 goto 2 
if %1% == 2 goto 3 
if %1% == 3 goto 4 

將其更改爲:

:1 
echo Let us Begin... 
echo The year is 1673 and you are living on a small farm. What do you do? 
echo 1)Feed Chicken 2)Feed Cow 3)Fetch Water 
set /p q1= 
if %q1% == 1 goto 2 
if %q1% == 2 goto 3 
if %q1% == 3 goto 4 
+2

+1,是的,'%1%'將被解釋爲參數1('%1'),後面跟着一個將被剝離的'%'。換句話說,參數在解釋百分數時優先於變量。 – dbenham