我正在制作批量游戏。我知道批次不是很强大,但这是我的第一场比赛。无论如何,我正在制作一个if声明,如果你经过1号门,你会活着,但如果你经过门2,你就会死。不幸的是,当我通过任一门时,程序重新启动。在这里,我将向您展示我的代码:
`@echo off
color 02
::stats
set Badasspts=0
:Beginning
echo Hello what is your name?
set /p name=
echo Hello %name%!
echo You have two doors to go through. Which one? Possible answers: 1 or 2
set /p answer1=
if answer1==1 goto youLive
if answer1==2 goto youDie
:youDie
echo Behind this door is an alligator pit you accidentally fall in and die!
goto Beginning
:youLive
echo Well... well... well... you live this time but now ummm... A wild monster appears. What do you do? Possible answers: hug, attack
set /p hugAttck=
if hugAttack==hug goto hug
if hugAttack==attack goto attack1
:hug
echo You hug that cute furry monster soooo hard that he dies. Plus 1 BADASS points!!!!
pause`
注意:我正在用Notepad ++编程。它尚未完成,是的。是的。
答案 0 :(得分:0)
目前,两种情况都没有评估为真,程序根本没有跳转。它执行'youDie'位,因为程序自然会进入下一行。无论用户输入如何,两个条件评估为false的原因是if语句将字符串'answer1'而不是变量'answer1'与数字进行比较。正确的语法是:if %answer1%==1 goto youLive
。
答案 1 :(得分:0)
你没有%answer1%
所以它不起作用。
您正在比较单词answer1而不是变量。
就像你写%name%
一样,你需要对答案做同样的事。
当您调试(在脚本中查找问题)时,请不要关闭回声。