所以我正在制作一个RPG,口袋妖怪风格格斗游戏(带电影角色)来测试我的技能,我显然需要更多的工作。它是一个批处理(.bat)文件,我使用的是notepad ++。 “Katniss
”部分确实有效,而其他三部分无效。之前设置了%char%
(字符),而Katniss的工作原理在那里不是问题。这个问题与我认为的“if
”声明有关。这是代码的一个片段,我会有整个事情,但它大约有400行,我已经使用pause
s缩小到这一部分。
`:character2
cls
REM --------------------------------------------------Characters aren't working here
if %char% == Katniss set hp=100
set mattack1=Knife
set rattack1=Arrow
set rattack2=Fire Arrow
set rattack3=Explosive Arrow
set block1=Bow Block
set armr=2
set energy=140
set m1enc=50
set m1hpd=25
set m2enc=25
set r1hpd=20
set r1enc=65
set r2hpd=50
set r2enc=110
set r3hpd=75
set r3enc=140
set bk1md=5
set bk1ec=50
set defense=2
goto corc
if %char% == Gandalf set hp=120
set mattack1=Staff
set mattack2=Sword
set mgttack1=Fireball
set mgttack2=Blast
set mgttac2=Staff
set block2=Magic Shield
set block3=Sword
set armr=0
set energy=100
set m1hpd=15
set m1enc=40
set m2hpd=40
set m2enc=90
set mg1hd=45
set mg1ec=100
set mg2hd=10
set mg2ec=25
set mg3hd=5
set mg3ec=25
set bk1md=5
set bk1ec=80
set bk2md=25
set bk2ec=100
set bk3md=3
set bk1ec=45
set defense=0
goto corc`
我试过雅虎答案,但该人没有阅读完整的问题并说我需要设置%char%
。
----的 答案
原来是(
)
事情,我错过了一些,这阻止了变量的设置,但""
与它无关。
答案 0 :(得分:3)
使用括号和双引号:
if "%char%"=="Katniss" (
set "hp=100"
set "x=1"
set "y=2"
...
goto corc
)
答案 1 :(得分:0)
使用括号:
if %char% == Katniss (
set hp=100
set x=1
set y=2
)