Когда следующий фрагмент кода запускается в моей пакетной игре для боя, независимо от того, что является вводом, он всегда будет атаковать и переходить к FIGHTPROCESSORLOOP и сообщит мне "Несбалансированные скобки", хотя логически с оператором IF ничего не должно произойти, вход не тот, который требуется, верно? Коды "Путешествия" и "Меню" работают отлично, так почему же "Борьба" не работает так же хорошо?
:CHOICEPROCESSOR
set /P choice=^>
if /i "%type%"=="travel" (
if /i "%choice%"=="%choice1%" goto %TRAVELLINGPROCESSOR%
if /i "%choice%"=="%choice2%" goto %TRAVELLINGPROCESSOR%
if /i "%choice%"=="%choice3%" goto %TRAVELLINGPROCESSOR%
if /i "%choice%"=="%choice4%" goto %TRAVELLINGPROCESSOR%
if /i "%choice%"=="%choice5%" goto %TRAVELLINGPROCESSOR%
)
if /i "%type%"=="menu" (
if /i "%choice%"=="%choice1%" goto %exec1%
if /i "%choice%"=="%choice2%" goto %exec2%
if /i "%choice%"=="%choice3%" goto %exec3%
if /i "%choice%"=="%choice4%" goto %exec4%
if /i "%choice%"=="%choice5%" goto %exec5%
)
if /i "%type%"=="fight" (
if /i "%choice%"=="%weapon%" (
set /a rsdmg=!ehp!-!atk!
set /a rsedmg=!hp!-(!eatk!/!def!)
set /a ehp=!ehp!-!atk!
set /a hp=!hp!-(!eatk!/!def!)
if hp GTR bhp set hp=%bhp%
goto FIGHTPROCESSORLOOP
)
)
echo Huh?
echo.
goto CHOICEPROCESSOR