我正在 Batch 中制作一个文本冒险游戏,我想知道为什么当我进入某个关卡时,窗口会关闭。以下是(部分)代码:
等级代码:
:C11x0y0
cls
title Level C11x0y0
echo -Info-
echo Coordinates: x0, y0
echo No Treasure
if %cheat% = 1 echo CHEAT gem x1 y0 exit x-1 y1
echo -Keys-
echo a - move left
echo s - move backwards
echo w - move forwards
echo d - move right
set /p direction=
if %direction% == a goto C11x-1y0
if %direction% == s goto C11x0y-1
if %direction% == w goto C11x0y1
if %direction% == d goto C11x1y0
菜单代码:
title Cave Advnture - Easy
cls
echo 1: Level 1
echo 2: Level 2
set /p choice=
if %choice% == 1 goto C12x0y0
if %choice% == 2 goto C11x0y0
笔记:
第 2 级有效,这是一个好兆头,所以我将在那里进行比较和对比。
答案1
我已经发现一个错误,这可能是你的问题。
if %cheat% = 1 echo CHEAT gem x1 y0 exit x-1 y1
此行对于 if 只有 1 个 =。批处理需要 2 个 ==。
另外,从命令提示符运行批处理文件,这样它就会显示错误而不是消失的窗口(显示错误并直接关闭)