因此,我最近一直在努力研究一个基于rpg的批处理文件文本,遇到了几个问题并很好地解决了这些问题,所以我被困在了这个问题上:
我有一种持续伤害的战斗技能,只有当敌人的生命值等于或低于25%时,我才能激活它,但我不能。
我试着写,但没有用。就像,完全忽略了命令,所以我想知道出了什么问题,以及如何修复它
代码:
:Wolf
cls
echo.
echo Wolf Hp: %WolfHp%\30
echo.
echo.
echo %name% Hp: %hp%\100
echo.
echo 1)Attack Wolf
echo 2)Swift Cut
echo.
set /p input=)
if %input%==1 goto HitWolf
if %input%==2 goto CutWolf
goto Wolf*我直接跳过VVV的技能
:CutWolf
set num=%random:~-2%
if %num% gtr %dmg% goto CutWolf
if %num% lss 01 goto CutWolf
if %num%== 00 goto WolfMiss
if %num%== 01 goto WolfMiss
if %num%== 02 set num=%cut%
if %num%== 03 set num=%cut%
if %num%== 04 set num=%cut%
if %num%== 05 set num=%cut%
if %num%== 06 set num=%cut%
if %num%== 07 set num=%cut%
if %num%== 08 set num=%cut%
if %num%== 09 set num=%cut%
if %WolfHp% gtr %WolfHp%*25/100 goto Wolf
cls
echo.
echo Swift Cut Success
echo.
echo You swiftly cut the wolf, damage dealt: %cut%
pause >nul
if %WolfHp% gtr %WolfHp%*25/100 goto Wolf
set /a WolfHp= %WolfHp%-%num%
goto WolfAttack发布于 2015-03-12 19:34:03
你不能在蝙蝠上这样做:
if %WolfHp% gtr %WolfHp%*25/100 goto Wolf但你可以这样做:
set /a tmp=%WolfHp%*25/100
if %WolfHp% gtr %tmp% goto Wolf所有的计算(算术)都必须用set /a来完成/设置。IF测试必须在两个变量之间进行
https://stackoverflow.com/questions/29017993
复制相似问题