我正在为我的办公室创建一个打字游戏,供任何想尝试提高他们的数字键盘打字技能的人使用。如果输入正确或不正确,我的代码保持得分,并且在 stackoverflow 社区(伟大的 Compo)的帮助下,我的代码得到了改进。现在我正在尝试为用户添加难度选项。但我似乎在将批次参考回输入的难度并遵循正确的难度选项时遇到问题。我知道我可以使用 IF 和 ELSE,但我仍然习惯了批处理的工作方式。
增加难度前的代码版本 1
@ECHO OFF
SET/A "correct=incorrect=0"
:START
CLS
COLOR 07
SET "num=%RANDOM%"
ECHO.
ECHO SCORE - CORRECT %correct%, INCORRECT %incorrect%
ECHO.
ECHO %num%
ECHO.
SET /P "INP= "
ECHO.
IF "%INP%"=="%num%" (
COLOR 27
ECHO CORRECT
SET/A "correct+=1"
PING -n 2 0.0.0.0 1>NUL
) ELSE (
COLOR 47
ECHO INCORRECT
SET/A "incorrect+=1"
PING -n 2 0.0.0.0 1>NUL
)
GOTO START
有难度选项的代码版本 1
@ECHO OFF
SET/A "correct=incorrect=0"
:STARTDIFF
ECHO DIFFICULTY?
ECHO.
ECHO EASY
ECHO HARD
ECHO.
SET /P "DIFF= "
IF "%DIFF%" EQU EASY GOTO STARTEASY
IF "%DIFF%" EQU HARD GOTO STARTHARD
::IF "%DIFF%" NEQ EASY GOTO STARTDIFF
: STARTEASY
CLS
COLOR 07
SET "num=%RANDOM%"
GOTO TEST
: STARTHARD
CLS
COLOR 07
SET "num=%RANDOM%%RANDOM%"
GOTO TEST
: TEST
ECHO.
ECHO SCORE - CORRECT %correct%, INCORRECT %incorrect%
ECHO.
ECHO %num%
ECHO.
SET /P "INP= "
ECHO.
IF "%INP%"=="%num%" (
COLOR 27
ECHO CORRECT
SET/A "correct+=1"
PING -n 2 0.0.0.0 1>NUL
) ELSE (
COLOR 47
ECHO INCORRECT
SET/A "incorrect+=1"
PING -n 2 0.0.0.0 1>NUL
)
ECHO %DIFF%>NUL
IF "%DIFF%" EQU EASY GOTO STARTEASY
IF "%DIFF%" EQU HARD GOTO STARTHARD
::IF "%DIFF%" NEQ EASY GOTO STARTDIFF
::GOTO START
如何告诉代码从一开始就参考设定的难度并继续使用该难度?
抱歉,我希望我使用正确的术语来更好地解释我正在尝试做的事情。