Text 批处理问题(如果语句)

Text 批处理问题(如果语句),text,adventure,Text,Adventure,我正在批量制作一个游戏。我知道这一批不是很强大,但这是我的第一场比赛。不管怎样,我在做一个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 hav

我正在批量制作一个游戏。我知道这一批不是很强大,但这是我的第一场比赛。不管怎样,我在做一个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` 

注:我正在用记事本++编程。它还没有完成,所以是的。

目前,两个条件的计算结果都不是真的,程序根本没有跳转。它执行“youDie”位,因为程序自然进入下一行。无论用户输入如何,这两个条件的计算结果都为false的原因是if语句将字符串“answer1”而不是变量“answer1”与数字进行比较。正确的语法是:如果%answer1%==1转到youLive。

您没有执行%answer1%,因此它不起作用

您正在比较单词answer1,而不是变量

就像你写%name%一样,你也需要对答案做同样的操作


在调试脚本中查找问题时,不要关闭echo。

如何运行此脚本?是否将其保存到*.bat文件并从命令行运行?