Я делаю выбор своего приключенческого игра в пакетном режиме, и я хочу иметь статистику в нем, чтобы отслеживать, как вы делаете в игре. Я хочу отображать статистику, но я должен делать это каждый раз, когда у меня есть команда cls
, и потому, что у меня будет эта команда часто, я сделал блок с именем :Stats
, чтобы я мог называть его каждый раз, когда мне это нужно. Он отлично работает, но повествование после отображения статистики больше не работает. Я хочу сохранить блок :colorEcho
, поэтому игрок может различать диалог, повествование и команды для ввода выбора. Есть какие нибудь идеи как это починить?Функция вызова не работает?
:Start
::Game goes here.
cls
Echo Please enter your player name.
set /p PlayerName="Player name: "
cls
call :Stats
call :colorEcho 7 "You lay on the cold, hard ground, sleeping away. It's been 1 month since the Virus spread..."
Echo.
call :colorEcho 7 "The sun rises over the horizon, warming up your dirt-caked body."
Echo .
pause
exit
:Stats
call :colorEcho A "Current Health = "
call :colorEcho C " %Health%"
Echo.
call :colorEcho A "Hunger = "
call :colorEcho C " %Food%"
Echo.
call :colorEcho A "Thirst = "
call :colorEcho C " %Water%"
Echo.
call :colorEcho A "Infection = "
call :colorEcho C " %Infection%"
Echo.
call :colorEcho A "Stamina = "
call :colorEcho C " %Stamina%"
Echo.
Echo.
pause
:colorEcho
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i
Замечание: Я определил все переменные. Об этом я убедился.
Что должно произойти:
Что происходит на самом деле:
Вы забыли 'выход/b' или 'goto: eof' в конце вашего ubroutine, поэтому ': Start' попадает в': colorEcho'. – dbenham
Что это точно? –