我有一個相當簡單的問題,我似乎無法包住我的頭。目前我正在嘗試通過批量編寫遊戲(我知道我應該使用其他更好的方法,但我不是)。我的問題是,它沒有按時更新,但似乎是一切背後的轉折點。在目前這一刻,只有等到惠普未被正確讀取,直到發出另一個命令爲止。批處理程序沒有正確更新文本文件
這是
`: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