设计和实现回合制战斗系统Combat

  • 格式:doc
  • 大小:31.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计和实现回合制战斗系统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战斗系统类