【发布时间】:2020-08-05 21:22:57
【问题描述】:
我正在尝试在我的游戏中制作盔甲和武器买卖系统,但我是一名初学者,不知道如何使用“for”语句。我现在有一些功能代码,但它绝对是巨大的和垃圾的。我想尝试使用 for 语句来缩短它,但我不知道如何。有人能帮我吗?谢谢。我目前正在使用这个垃圾代码:
cls
echo What armor do you want to change to?
echo[
echo 1. None
echo 2. Leather
echo 3. Wooden
echo 4. Stone
echo 5. Bronze
echo 6. Iron
echo 7. Titanium
echo 8. Adamantium
echo[
choice /c 12345678 /m "What'll it be, %name%?"
if %errorlevel%==8 (
cls
set armor=Adamantium
echo It is done!
pause
goto start
)
if %errorlevel%==7 (
cls
set armor=Titanium
echo It is done!
pause
goto start
)
if %errorlevel%==6 (
cls
set armor=Iron
echo It is done!
pause
goto start
)
if %errorlevel%==5 (
cls
set armor=Bronze
echo It is done!
pause
goto start
)
if %errorlevel%==4 (
cls
set armor=Stone
echo It is done!
pause
goto start
)
if %errorlevel%==3 (
cls
set armor=Wooden
echo It is done!
pause
goto start
)
if %errorlevel%==2 (
cls
set armor=Leather
echo It is done!
pause
goto start
)
cls
set armor=None
echo It is done!
pause
goto start
【问题讨论】:
-
for命令用于迭代事物(即,对集合中的每个项目执行某些操作)。我不认为它做你认为它做的事。我建议先阅读for /?帮助。 (我还建议从 PowerShell 开始,而不是cmd批处理/shell 脚本代码;它具有更好的代码结构,并取消了goto。) -
您要做的是创建一个键值对。我知道我们在这里有一个关于如何做到这一点的很好的问答。我现在找不到它。
-
当下标不是数字时,您想使用array 或associative array。
标签: batch-file