基本上,我制作的脚本就像其中一个"拿起钥匙"或者"击中怪物"打字游戏......
这就是问题所在。我做的功能
:beginning2
cls
echo You're in a room with a broken glass, a chest, a mirror, a counter with a small object on it, and a door.
echo What do you want to do?
set /p beginning2=Action:
if "%beginning2%"=="look at counter" goto counter
它应该去" counter"这是剧本的一部分。
:counter
cls
echo There is a small object on this counter.
echo It appears to be a key.
set /p counter=Action:
if "%counter%"=="pick up key" goto beginning3
这是整个剧本。
@echo off
color 0a
:beginning1
cls
title Adventure
echo You're in a room with a broken glass, a chest, and a mirror.
echo The room has no light.
echo What do you want to do?
set /p input=Action:
if "%input%"=="open chest" goto chest
if "%input%"=="look at mirror" goto mirror
:beginning2
cls
echo You're in a room with a broken glass, a chest, a mirror, a counter with a small object on it, and a ab door.
echo What do you want to do?
set /p beginning2=Action:
if "%beginning2%"=="look at counter" goto counter
:beginning3
cls
echo You're in a room with a broken glass, a chest, a mirror, a counter with nothing on it, and a door.
echo You also hold a key.
echo What do you want to do?
set /p beginning3=Action:
if "%beginning3%"=="open chest" goto chest2
if "%beginning3%"=="look at counter" goto counter
:beginning4
cls
echo You're in a room with a broken glass, an opened chest, a mirror, a counter with nothing on it, and a door.
echo You also hold a key.
echo What do you want to do?
set /p beginning4=Action:
if "%beginning%"=="open door" goto door
:chest
cls
echo The chest is locked. What do you want to do now?
set /p chest=Action:
if "%chest%"=="back" goto beginning1
if "%chest%"=="look at mirror" goto mirror
:chest2
cls
echo You hold a key, and a chest appears infront of you.
echo What do you want to do now?
set /p chest2=Action:
if "%chest2%"=="open chest" goto chest3
:chest3
cls
echo The chest clicks open!
echo In it appears to be another key, but slightly bigger.
echo What do you want to do now?
set /p chest3=Action:
if "%chest3%"=="back" goto beginning4
:mirror
cls
echo You look in the mirror.
echo You see nothing because the room has no light.
echo What do you want to do now?
set /p mirror=Action:
if "%mirror%"=="turn on lights" goto lights
if "%mirror%"=="back" goto beginning1
:lights
cls
echo You turned on the lights!
echo You've revealed a counter with a small object on it, and now there is light in the mirror.
set /p lights=Action:
if "%lights%"=="look at mirror" goto mirror2
:mirror2
cls
echo You look at a mirror, you see yourself with a pen mark on your arm that says "0212"
set /p mirror2=Action:
if "%mirror2%"=="back" goto beginning2
:counter
cls
echo There is a small object on this counter.
echo It appears to be a key.
set /p counter=Action:
if "%counter%"=="pick up key" goto beginning3
:door
cls
echo You go to the door with a key, and open it. It clicks open simply.
请帮助我,因为它太令人沮丧了。这很奇怪,因为它只是说" goto counter"但它只是不能与我合作。
答案 0 :(得分:0)
使用if语句时,它们默认区分大小写。使用/i
更改此信息:
set /p beginning2=Action:
if /i "%beginning2%"=="look at counter" goto counter
答案 1 :(得分:0)
我查看了程序的控制流程,这是它的选项树:
:beginning1 (broken glass, a chest, and a mirror)
- "open chest": goto chest
- "look at mirror": goto mirror
- else:
:beginning2 (broken glass, a chest, a mirror, a counter with..., and a ab door)
- "look at counter": goto counter
- else:
:beginning3 (broken glass, a chest, a mirror, a counter with nothing..., and a door)
- "open chest": goto chest2
- "look at counter": goto counter
- else:
:beginning4 (broken glass, an opened chest, a mirror, a counter with nothing, and a door)
- "open door": goto door
- else:
:chest (chest is locked)
- "back": goto beginning1
- "look at mirror": goto mirror
- else:
:chest2 (chest appears infront of you)
- "open chest": goto chest3
- else:
:chest3 (chest clicks open)
- "back": goto beginning4
- else:
:mirror (look in the mirror)
- "turn on lights": goto lights
- "back": goto beginning1
- else:
:lights (turned on lights)
- "look at mirror": goto mirror2
- else:
:mirror2 (look at a mirror)
- "back": goto beginning2
- else:
:counter (small object on counter)
- "pick up key": goto beginning3
- else:
:door (open door)
-> terminate program
我运行你的程序,它的行为与编程完全一样。例如,在“:lights”标签处,如果输入“look at mirror”,程序将执行“goto mirror2”;否则,如果您输入的内容与“看镜子”不同,程序将继续下一行,即“:mirror2”......
我认为你必须在前一个方案指定的每一行插入一个带有适当标签的goto
“ - else:”......
除非您确定用户将始终以小写字母输入命令,否则您还应该在Monacraft指示的所有/I
命令中包含if
开关...