共计 789 个字符,预计需要花费 2 分钟才能阅读完成。
本文接着上文卡牌游戏战斗初始化,来讲解卡片游戏进入战斗后,每个卡牌如何做战斗的行为决策。
1. 行为决策判断
- 按照一定的顺序(如位置、速度属性、随机、轮流等),选取一个卡牌进行行为决策,这个根据各个项目自行决定。注意:这里只是决策是安装顺序进行,不代表必须一个卡牌行为完成后下一张卡牌才行动。
2. 行动能力判断
- 检查卡牌当前状态(如眩晕、冰冻等),判断其是否有能力进行行动。如果不能行动,则跳过该卡牌的回合,进入下一个卡牌的行动队列。
3. 行为选择
- 根据卡牌的当前状态(如生命值、能量值等),选择进行普通攻击或必杀技能,这里是采用优选择技能的模式,也可以根据其他来进行具体行为的排序。
4. 目标判断
- 对于选定的行为(普攻或必杀),判断攻击范围内是否有可攻击的目标。
5. 移动判断与执行
- 如果攻击范围内没有目标,判断通过移动是否可以到达一个位置,使得目标处于攻击范围内。
- 如果移动可以使目标进入攻击范围,则执行移动。
- 如果即使移动也无法使目标进入攻击范围,返回步骤 3 重新选择行为(可能考虑其他类型的行为,如使用辅助技能等)。
6. 特殊处理
- 如果所有可行的行为都无法选中目标或移动到目标,执行特殊处理:
- 卡牌可以选择保持不动,等待下一轮。
- 或者,卡牌可以选择向最近的敌人移动,以准备下一轮的攻击。
补充说明
- 注意行为的合理性,比如卡牌 A 旁边有 BC 两个敌人,当前正在攻击 B,但是 B 位移了,我下一轮是追向 B 还是攻击我身边的 C,这个需要根据项目的具体情况来处理。
- 还有情况为 A 的必杀可以释放了,但是必杀的目标必须要移动才能释放,但是这时候 A 还在攻击 B,A 下一轮是舍弃 B 移动释放必杀,还是继续普攻 B,这种情况,可以通过调整必杀目标选取范围来优化
本人做的项目中对这两种情况采用的方式为,只要选择的目标没有死亡,或者没有隐身等脱离战斗,目标不会改变。也就是第四条如果目标存在会被缓存,只要缓存的目标仍然存在,后续目标不会再次选择。
正文完
[…] 常用查询函数说明: …