C+++团队项目设计_第1页
C+++团队项目设计_第2页
C+++团队项目设计_第3页
C+++团队项目设计_第4页
C+++团队项目设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 设计和实现回合制战斗系统 Combat 1 Soldier 战士类 1 Soldier 的属性 protected 作用域 最大生命 maxHP当前生命 HP最大体力 maxSP当前体力 SP 攻击力 damage经验 exp等级 level姓名 name 药瓶数量 drugNum 2 Soldier 的动作 public 作用域 决策 makeDecision攻击 attack休息 rest吃药 takingDrug 3 Soldier 被创建后 maxHP 和 HP 为 100 maxSP 和 SP 为 100 damage 为 20 exp 为 0 level 为 1 drugNum 为 5 4 每回合 Soldier 通过决策 makeDecision 来决定需要发出哪一个动作 攻击 attack 休息 rest 或吃药 takingDrug 注意每回合只能做其中一个动作 请自 行设计和调整每种动作发出的必要条件 例如 生命值若低于最大值的 30 该回 合就吃药 体力低于最大值的 50 该回合就休息 生命力和体力都充足该回合就 发起攻击 等等 5 攻击 attack 敌人一次 体力 SP 减少 10 经验 exp 增加 5 敌人的生命 值 HP 减去攻击方攻击力值 damage 的大小 敌人生命值 HP 减少到 0 时死去 如果敌人被自己打死 获得敌人身上的所有药瓶 6 经验 exp 每增加 20 等级 level 就提高 1 级 maxHP maxSP damage 分别增加 20 Soldier Wizard Master 升级后 当前 HP SP MP 和 NP 的值皆按 2 比例 xx MaxXX 增长 注意 不是升级后上述当前属性值就自动全满 例如 Wizard 的 HP MaxHP 50 100 升级后 HP MaxHP 调整为 60 120 升级前 HP MaxHP 比例为 0 5 升级后 MaxHP 变成 120 若要保持 0 5 的比例 HP 自 动调整为 60 这种设定类似于魔兽争霸 III 7 休息 rest 一次 生命值 HP 体力 SP 增加最大值的 50 但不要超过 最大值 例如 当前生命值是 30 最大生命值是 100 则吃药后的当前生命值为 30 100 50 80 8 吃药 takingDrug 如果药瓶数量为 0 不能吃药 吃药一次 药瓶数量减少 1 生命值 HP 增加最大值的 80 但不能超过 maxHP 2 Wizard 巫师类 从 Soldier 类公有继承 1 Wizard 的属性 protected 作用域 新增的属性 最大魔法值 maxMP当前魔法值 MP 2 Wizard 的动作 public 作用域 决策 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 无法使用该技 3 能 一次魔法攻击能同时攻击几个敌人 但每对付一个敌人 自己的体力 SP 减少 10 魔法值减少 25 经验 exp 增加 5 敌人的生命值 HP 减去自己攻 击力值 damage 敌人生命值 HP 减少到 0 时死去 同时自己获得敌人身上 的所有药瓶 6 经验 exp 每增加 20 等级 level 提高 1 级 maxHP maxSP maxMP damage 分别增加 20 如果觉得升级太快了 或 者升级增加的 HP 和 damage 不太协调 可以调整这些参数 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 的动作 public 作用域 决策 makeDecision攻击 attack休息 rest吃药 takingDrug 魔法攻击 wizard attack 绝杀攻击 master attack 3 Master 被创建后 maxMP 和 MP 为 100 maxHP 和 HP 为 100 maxSP 和 4 SP 为 100 maxNP 和 NP 为 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 战斗系统类 1 WarSystem 类的属性 军团 A Soldier pGroupA 军团 B Soldier pGroupB 5 2 WarSystem 类的动作 战斗开始 startWar回合开始 startRound 3 每次战斗 双方派出一个军团 军团由数名战士 巫师和大师组成 战斗按回合 制进行 即每回合中 一方军团的每个成员做完各自的一次动作 由 makeDecision 决定 后 另一方军团每个成员接着完成自己的一次动作 战斗 开始 由哪个军团先发起攻击 系统随机决定 回合的生成和结束由 WarSystem 类控制 4 WarSystem 类拥有两个数据成员 指向指针变量的指针 即二级指针 Soldier pGroupA Soldier pGroupB 分别对应战斗的双方军团 提示 军团可以由 Soldier 数组的形式生成 在 WarSystem 的 pGroupA 和 pGroupB 分别指向两个军团 注意 OOP 的多态实 现 5 WarSystem 类可以发出战斗开始即 startWar 动作 在 startWar 中 随 机决定由哪一方率先发起攻击 恐怕是每个回合都随机决定谁先出手会比较公平 如果每回合先出手都是固定一方 那么战斗结果完全是确定性的 而且由于两支 队伍的成员一样 交换先出手权后的结果也是对称的 然后调用 WarSystem 的另一动作 回合开始 即 startRound 6 startRound 动作的描述 在 startRound 中 按军团顺序调用每个战士 的 makeDecision 动作 也可以考虑两个军团轮流一次一人行动 比较公平 6 5 将整个战斗过程的每一步保存入日志文件 6 项目说明 1 自由组队 人数为 2 5 人 不能单人组队 也不得超过 5 人 2 开发小组全部人员皆要求参与设计和开发 每位组员有明确的分工 组内自行协 调 每位组员除了熟悉自己的任务模块外 需熟悉整个系统的设计和开发 3 影响项目评分的因素 i 最终系统对需求的实现程度 ii 项目组内部分工的合理度 包括每人工作量的平衡程度 协作的程度 iii 每位组员最后的考评皆会影响项目组其他成员的最后评分 4 项目组角色及职责说明 控制项目进度 定期 建议每 2 3 天 召集所有人员开会沟通开发进度 特别 当项目进度滞后时 需要提出解决方案 减少进度偏移 项目经理 1 名 组 长 兼客户沟通人员 建议推选凝聚力较强 人员担任 定期向客户 老师 报告整体开发进度 模块开发进度 及每个成员的实施情况 建议每 2 3 天用 email 形式报告 负责项目整体框架设计 子系统 模块 划分 技术经理 1 名 建议推选技术较强人 员担任在项目组其他成员遇到技术难题时 有 责任提供技术咨询 程序员 N 名全体人员 包括项目程序开发 7 经理和技术经理 5 部分项目需求并未完整给出 如 Soldier 等类的 makeDecision 决策机制如何设 计 在不同场景下该如何做出最佳决策 己方应该分开攻击对方不同的战士 还 是应该合力攻击对方最强的战士或者最弱的战士 可参考自己或他人的回合制游 戏经验 应该在哪一个类中增加方法 来获取对方军团的战士信息以便己方做 出正确决策 如果战斗在开始后几个回合内就分出胜负 请适量调整各种攻击动 作 吃药 休息的数据修改值 这里设定的生命值相对于伤害值来说有点小了 可适当参考星际魔兽等 RTS 游戏的参数平衡系统 在现实中 项目组经常面临开 发的项目需求不完整的情况 需要通过多次迭代 反复需求分析和与客户 本项 目中的客户即是老师和本组其他同学 沟通逐步解决问题 关于项目组对此类问 题的处理能力 也是本次考查的内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论