基础1.2——
AI会根据一系列检查来选择使用的技能,那么需要检查哪些内容呢?
让我们从最简单的开始——
1.不考虑携带物品的影响。
2.不考虑特性的影响。
3.不考虑伤害技能的效果。
4.不考虑使用变化技能。
所以,在这个阶段,AI应该——
1.考虑每一个技能对当前对手场上的精灵造成的伤害(会考虑属性克制、技能威力、自身攻击、本系加成、能力等级、对手防御、Multiplier*)。
2.如果自身有4个攻击技能,那么此时应该得到一个Hash,Hash以每一个技能为Key,以技能造成的伤害的实数值和百分比为对应的Value,类似于hash = { :SURF => [50, 0.2] },也就是说最后会得到4个键值对的哈希。
额外判断——是否击杀,需要几击击杀。
此条能够兼容只有1个技能的情况,为了简化计算,只有一个技能时最好不再进行任何计算,而是直接使用该技能。
3.此阶段限定了AI不会换人,但是玩家会换人,所以,还需要进行额外的检查。
因为玩家会不会换人需要额外的判断逻辑,这里暂时先不考虑,目前只先考虑玩家可能会换人,所以针对所有可能的情况进行计算。
所以,还需要计算每一个技能对玩家后排的每一个精灵造成的伤害。
所以,最后应该是得到一个嵌套的哈希,类似于——
4.因为此时不考虑玩家会不会换人,所以此时应该使用计算出的伤害最高的技能。
5.暂不考虑双打,双打会让事情变得更加复杂,就我目前想到的,双打还应该考虑出手顺序、伤害溢出等。