业余尝试类似测验的批处理文件游戏。我究竟做错了什么?

时间:2016-02-05 20:27:23

标签: batch-file

这是我试图以批处理文件的形式制作的测验游戏的基础。我很新,所以我做错事并非不太可能。我想要的是它去了适当的区域,在这个演示中回到开始,但是在最终版本中转到下一个问题。目前发生的是它只是进入第一个子程序而不是指定的子程序。 先谢谢你了

@ECHO OFF
:start
echo Will you say yes or no?
set /p dummy=Say yes or no...
if "%INPUT%"=="yes" goto yes
if "%input%"=="no" goto no
if not "%input%"=="yes" goto lol
if not "%input%"=="no" goto lol
:yes
echo this worked
pause
echo Time for a repeat
pause
goto start
:no
echo this still worked
pause
echo Time for a repeat
pause
goto start
:lol
echo You did not put in yes or no. Try again
goto start

2 个答案:

答案 0 :(得分:0)

input是您之后使用的变量名称,因此请尝试

set /p input=Say yes or no...

而不是dummy 然后:

if not "%input%"=="yes" goto lol
if not "%input%"=="no" goto lol

因为你已经抓住了“是”'之前,not "%input%"=="yes"在这里总是如此。永远无法达到下一行。目前,您可以使用goto lol简单地替换这两行,如果它应该处理其他所有'。

答案 1 :(得分:0)

试试这个

@ECHO OFF
:start
echo Will you say yes or no?
set /p input=Say yes or no...
if "%input%"=="yes" goto yes
if "%input%"=="no" goto no
if not "%input%"=="yes" goto lol
if not "%input%"=="no" goto lol
:yes
echo this worked
pause
echo Time for a repeat
pause
goto start
:no
echo this still worked
pause
echo Time for a repeat
pause
goto start
:lol
echo You did not put in yes or no. Try again
goto start

希望这有效