gpt4 book ai didi

batch-file - 拼写错误不会出错

转载 作者:行者123 更新时间:2023-12-04 01:54:46 26 4
gpt4 key购买 nike

在游戏过程中,如果我拼写错误,例如“go south”,它只会关闭批处理文件,而不是返回错误。这是我遇到问题的部分代码。

:type
set /p menu=type:
if "%menu%" == "go north" goto north
if "%menu%" == "go south" goto south
if "%menu%" == "go east" goto east
if "%menu%" == "go west" goto west
if "%menu%" == "grab bandage" goto pick up
if "%menu%" == "use bandage" goto use
if "%menu%" == "inventory" goto inventory
if "%menu%" == "look around" goto look around
if "%menu%" == "open drawer" goto open drawer
if "%menu%" == "open tin can" goto open can
if "%menu%" == "take tin can" goto ttc
if "%menu%" == "take key" goto tk
if "%menu%" == "take money" goto take money
if "%menu%" == "throw can" goto throw
echo error
pause
cls
goto play

它应该向下选择直到出现回声错误。如果我拼错了列表中没有的东西,例如“dog”,它会显示错误。如果我像这样拼写 go south “go suth”,它会显示错误,但如果我这样拼写“go soutg”,它会关闭游戏。有没有一种方法可以让它在拼写错误的单词(如“go soutg”)时出错,而不必列出拼错单词的方法?

最佳答案

代码看起来还不错,你遇到的问题不是拼写错误引起的,而是在某些情况下是 goto 语句引起的。

CMD 解释器将空格作为参数的分隔符,因此您不能使用 goto take money 因为它实际上会解释为 goto take 并且会忽略 money,这会将代码引导至不存在的标签。

一定要按照建议使用 IF/I,这将帮助您忽略区分大小写的拼写错误,尤其是当用户看不到选项列表时。

如果用户/玩家将看到可能性列表,您还可以考虑使用 choice 命令而不是 set/p,因为您可以定义用户将只需要的确切选择使用单键选择选项并将变量 %ERRORLEVEL% 设置为特定值(基于所做的选择),然后您可以像这样进行比较 IF "%ERRORLEVEL%"EQU "3"goto东

使用choice 命令的好处是只接受已定义的选项,而用户将执行的任何其他未定义的选项只会让语音器发出哔哔声。由于这一点,您不需要再次将脚本重定向回相同的提示“重绘”内容等...而只是一个建议

希望这对...瑞奇有帮助

关于batch-file - 拼写错误不会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com