设计和实现回合制战斗系统Combat
- 格式:doc
- 大小:31.50 KB
- 文档页数:3
设计和实现回合制战斗系统Combat 1.Soldier战士类
1)Soldier的属性(protected作用域)
最大生命maxHP 当前生命HP 最大体力maxSP 当前体力SP
攻击力damage 经验exp 等级level 姓名name
药瓶数量drugNum
2)Soldier的动作(protected作用域)
决策makeDecision 攻击attack 休息rest 吃药takingDrug
3)Soldier被创建后,maxHP和HP为100,maxSP和SP为100,maxMP和MP为100,
damage为20,exp为0,level为1,drugNum为5;
4)每回合Soldier通过决策(makeDecision)来决定需要发出哪一个动作(攻击attack、
休息rest或吃药takingDrug,注意每回合只能做其中一个动作)。请自行设计和调整每种动作发出的必要条件,例如:生命值若低于最大值的50%该回合就吃药,体力低于最大值的30%该回合就休息,生命力和体力都充足该回合就发起攻击,等等;
5)攻击(attack)敌人一次,体力(SP)减少10,经验(exp)增加5。敌人的生命值
(HP)减去攻击方攻击力值(damage)的大小。敌人生命值(HP)减少到0时死去,如果敌人被自己打死,获得敌人身上的所有药瓶;
6)经验(exp)每增加20,等级(level)就提高1级,maxHP、maxSP、damage分别
增加20;
7)休息(rest)一次,生命值(HP)、体力(SP)增加最大值的50%,但不要超过最大
值。(例如,当前生命值是30,最大生命值是100,则吃药后的当前生命值为30+100*50%=80。)
8)吃药(takingDrug),如果药瓶数量为0,不能吃药。吃药一次,药瓶数量减少1,生
命值(SP)增加最大值的50%,但不能超过maxSP。
2.Wizard巫师类,从Soldier类公有继承
1)Wizard的属性(protected作用域)
新增的属性:最大魔法值maxMp 当前魔法值HP
2)Wizard的动作(protected作用域)
决策makeDecision 攻击attack 休息rest 吃药takingDrug
魔法攻击wizard_attack
3)Wizard被创建后,maxMP和MP为100 ,maxHP和HP为100,maxSP和SP为100,
maxMP和MP为100,damage为20,exp为0,level为1;
4)每回合Wizard通过决策(makeDecision)来决定需要发出哪一个动作(攻击attack、
魔法攻击wizard_attack、休息rest或吃药takingDrug,注意每回合只能做一个动作);
5)魔法攻击(wizard_attack):如果魔法值小于25、或体力小于10无法使用该技能。
一次魔法攻击能同时攻击几个敌人,但每对付一个敌人,自己的体力(SP)减少10、魔法值减少25、经验(exp)增加5、敌人的生命值(HP)减去自己攻击力值(damage)。
敌人生命值(HP)减少到0时死去,同时自己获得敌人身上的所有药瓶;
6)经验(exp)每增加20,等级(level)提高1级,maxHP、maxSP、maxMP、damage
分别增加20;
7)休息(rest)一次,生命值(HP)、体力(SP)恢复效果同Soldier的休息(rest)动
作。魔法值增加最大魔法值的30%,但不要超过最大魔法值,例如:_mp=_mp+_maxMp*30%。
8)吃药(takingDrug)一次,效果等同于Soldier吃药。
9)攻击(attack),攻击效果同Soldier。
3.Master巫师类,从Wizard类公有继承
1)Master的属性(protected作用域)
新增的属性:最大内力maxNp 当前内力NP
2)Master的动作(protected作用域)
决策makeDecision 攻击attack 休息rest 吃药takingDrug
魔法攻击wizard_attack 绝杀攻击master_attack
3)Master被创建后,maxMP和MP为100 ,maxHP和HP为100,maxSP和SP为100,
maxMP和MP为100,damage为30,exp为0,level为1;
4)每回合Wizard通过决策(makeDecision)来决定需要发出哪一个动作(攻击attack、
魔法攻击wizard_attack、绝杀攻击master_attack、休息rest或吃药takingDrug,注意每回合只能做一个动作);
5)大师攻击(master_attack),如果内力(NP)大于50时,可以使用大师(master_attack)
攻击。一次大师攻击能让被攻击的敌人的生命值(HP)减少其最大生命值的(maxHP)50%,例如敌人HP为100,maxHP为160,被大师攻击后,生命值变为HP-maxHP*50%=100-160*50%=20。一次大师攻击会内力(NP)损耗50、体力(SP)损耗30,经验增加5。
6)魔法攻击(wizard_attack),攻击效果等同于Wizard的攻击(attack)动作
7)攻击(attack),攻击效果等同于Soldier的攻击(attack)动作。
8)使用大师攻击后,经验(exp)每增加20,等级(level)就提高1级,maxHP、maxSP、
maxMP、maxNP分别增加20,damage增加20;
9)休息(rest)一次,内力增加最大内力的30%,但不要超过最大内力值。其余如HP、
SP、MP的恢复等同于Wizard的休息(rest)动作。
10)吃药(takingDrug)一次,效果等同于Soldier的吃药(takingDrug)动作。
4.WarSystem战斗系统类