我有一个相当简单的问题,我似乎无法包住我的头。目前我正在尝试通过批量编写游戏(我知道我应该使用其他更好的方法,但我不是)。我的问题是,它没有按时更新,但似乎是一切背后的转折点。在目前这一刻,只有等到惠普未被正确读取,直到发出另一个命令为止。批处理程序没有正确更新文本文件
这是
`:damageAdjuster
cls
for /f "delims=" %%a in (test.txt) do (
set line=%%a
echo !line!
set /a L=!L!+1
)
echo Testing Damage
echo.
echo 1) Deal Damage to HP
echo 2) Heal HP
set /a healthPoints=!line!
set /a hardHealth=17
set /a hostileDamage=%random%%%6 +1
set /a healthHeal=%healthPoints% +6
set /a healthDamage=%healthPoints%-%hostileDamage%
set input=
set /p input=Well...?:
if %input%==1 echo %healthDamage% >test.txt
if %input%==2 echo %healthHeal% >test.txt
if %healthPoints% gtr %hardHealth% (
echo %hardHealth% >test.txt
)
goto damageAdjuster`
L被指定,并且延迟扩展被启用的代码。当然,我可能会以这种错误的方式来解决这个问题,但这正是我在零批处理中获得零经验的原因。任何帮助,将不胜感激。此外,如果沿着这个线路实际工作,它也可以用于记忆库存等?
恭喜您试图将其作为批处理文件执行此操作。不过,我不明白你究竟在问什么。 – Gabe
而不是使用for循环尝试一个do/while循环(我知道批处理'本地'支持do/while但有一种方法)[批处理如何...模仿while循环](http:// www .robvanderwoude.com/battech_while_loops.php) – wpenton
'set/a L + = 1'? – Endoro