所以我对编码还比较陌生,而且我似乎无法在我的这段代码中找到语法错误。每次加载菜单并按 1 时,它都会关闭并快速闪烁一条错误消息,提示存在语法错误。如果你们能帮我找出导致问题的原因。顺便说一句,这是一个基于文本的角色扮演游戏。没有法官:)
@echo off
TITLE VICTIMQUEST =-= RETRO EDITION
setlocal enabledelayedexpansion
:menu
color 0a
cls
echo.
echo VICTIMQUEST =-= RETRO EDITION
echo.
echo 1) Begin
echo 2) Exit
echo.
set /p c=C:\
if "%c%" == "1" goto new
if "%c%" == "2" exit
goto menu
:new
set health=100
set monsterhealth=30
set playerdmg=7
set monsterdmg=3
goto home
:home
cls
echo You sit in your nice, cozy cabin...
echo ----------------------
echo Nothing you need to worry about.
echo.
echo 1) FIGHT!
echo 2) Quit :|
echo.
set /p c=C:\
if "%c%" == "1" goto encounter1
if "%c%" == "2" goto menu
goto home
:encounter1
cls
echo You: %health%
echo.
echo 1) Attack
echo 2) Run away
echo.
set /p c=C:\
if "!c!" == "1' goto attack1
if "!c!' == "2" goto home
goto encounter1
请帮忙。谢谢!
最佳答案
3 个变化:
REM @echo off
- 当您调试或盲目飞行时应打开 Echo管道字符 |是一个特殊字符,必须用 ^ 转义。
echo 2) Quit :^|
不正确的引号。需要是双引号。
if "!c!" == "1" goto attack1
关于windows - 在批处理文件中找不到语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735701/