所以我正在编写一个关于编写id代码的迷你游戏,然后让别人猜测它。我面临的问题是,每当有人试图使用游戏语法改变字体颜色时,只会显示一个错误:“(此时是意外的。”并且只是立即崩溃。这是我目前的代码:
答案 0 :(得分:1)
您应该知道COLOR /?
"颜色属性由两个十六进制数字指定&#34 ;;你只是用一个。您尚未添加任何代码来确定当前前景色是什么。 "如果尝试执行具有相同"的前景色和背景色的COLOR命令,则COLOR命令将ERRORLEVEL设置为1。如果您假设当前为8
,则不要假设前景色属性,然后在8
命令中的背景属性之后添加COLOR
。
您无需使用所有ELSE IF
组合:
@ECHO OFF
:PLAY
SET/P "ID=Identification code: "
IF /I "%ID%"=="color:0" (
COLOR 08
GOTO PLAY
)
IF /I "%ID%"=="color:a" (
COLOR A8
GOTO PLAY
)
IF /I "%ID%"=="color:b" (
COLOR B8
GOTO PLAY
)
IF /I "%ID%"=="color:c" (
COLOR C8
GOTO PLAY
)
IF /I "%ID%"=="color:d" (
COLOR D8
GOTO PLAY
)
IF /I "%ID%"=="color:e" (
COLOR E8
GOTO PLAY
)
IF /I "%ID%"=="color:f" (
COLOR F8
GOTO PLAY
)
我已删除所有这些CLS
命令,只需使用:PLAY
开始CLS
。
答案 1 :(得分:0)
您缺少此块的右括号:
else if %conf% == #cheat.code:(acss_grnt.admn)$ (
color c
cls
echo Cheating system..
timeout 3 >nul
tree
dir
timeout 1 >nul
cls
echo Access granted.
pause
exit
您还缺少此else块的右括号:
else (
cls
echo Identification stored.
pause
cls
set /p conf=Enter identification:
答案 2 :(得分:0)
您应该尝试保持结构简单的计算机/程序以避免繁琐的重复,因此颜色的东西放在一个逻辑行中,最后是行继续char ^
并在成功时使用条件执行{发现字符串结果的{1}}或失败&&
我不知道我是否可以随时遵循你的逻辑,所以试一试。
||