0

所以我正在制作一个RPG,口袋妖怪风格的格斗游戏(有电影角色)来测试我的技能,我显然需要更多的工作。这是一个批处理(.bat)文件,我使用的是记事本++。" Katniss" 部分起作用,而其他三个不起作用。(%char%字符)是先前设置的,并且 Katniss 可以正常工作,因此在那里不会有问题。问题出在if我认为的“”声明上。pause这是代码的一个片段,我会得到整个东西,但它大约有 400 行,我已经使用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`

我尝试了 Yahoo Answers,但该人没有阅读完整的问题并说我需要设置%char%.

----答案 原来是(

)

事情,我错过了一些,这阻止了变量的设置,但""与它无关。

4

2 回答 2

3

使用括号和双引号:

if "%char%"=="Katniss" (
   set "hp=100"
   set "x=1"
   set "y=2"
   ...
   goto corc
)
于 2013-08-29T00:44:50.923 回答
0

使用括号:

if %char% == Katniss (
   set hp=100
   set x=1
   set y=2
)
于 2013-08-29T00:00:16.070 回答