我有一个相当简单的问题,我似乎无法绕过头脑。目前我正在尝试批量编写游戏(我知道我应该使用其他更好的东西,但我不是)。我的问题是它没有及时更新,但似乎是一切都落后了。在目前这个时刻,只是等到HP没有被正确读取,直到发出另一个命令。
这是代码
`: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并启用延迟扩展。当然,我可能会以错误的方式解决这个问题,但这正是我提出的批量零经验。任何帮助,将不胜感激。此外,如果某些内容实际上有效,它还能用于记住库存等吗?
答案 0 :(得分:0)
您的代码与您描述的完全一致。我认为你限制健康的问题是你在最后一个回声测试错误的变量 - 你需要测试你写的是什么,而不是当前的健康值。考虑修改您的代码,如下所示:
if %input%==1 echo %healthDamage% >test.txt
if %input%==2 (
echo %healthHeal% >test.txt
if %healthHeal% gtr %hardHealth% (
echo %hardHealth% >test.txt
)
)