业余爱好者尝试类似测验的批处理文件游戏.我做错了什么



这是我试图以批处理文件的形式制作的问答游戏的基础。我是新手,所以我做错事并非不可能。我想要的是让它转到正确的区域,并在此演示中返回到开头,但是在最终版本中转到下一个问题。目前发生的情况是它只是转到第一个子例程而不是指定的子例程。提前谢谢你

@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

>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替换这两行。

试试这个

@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

希望这有效

相关内容

  • 没有找到相关文章

最新更新