Я делаю текстовое приключение в пакетном режиме, и мне было интересно, почему, когда я иду на уровень, окно закрывается. Вот (некоторые) из кода:

Код уровня:

: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 ответ1

0

Я уже заметил ошибку, которая может быть вашей проблемой.

if %cheat% = 1 echo CHEAT gem x1 y0 exit x-1 y1 

Эта строка имеет только 1 = для if. Пакет нужно 2 ==.

Кроме того, запустите пакетный файл из командной строки, чтобы он отображал ошибку вместо исчезающего окна (которое показывает ошибку и сразу после закрытия)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .