攻击精确计算示例 首先声明以下变量 A = 攻击方攻击力 Ta = 攻击方地形攻击 D = 防御方防御力 Td = 防御方地形防御 B = 苯环加成 H = 攻击方血量 p = 攻击概率 p = 0.05 * (((A + Ta) - (D + Td)) + B) + 0.5 即 攻击概率p = 0.05 * ( (攻击方攻击力A + 攻击方地形攻击Ta) - (防御方防御力D + 防御方地形防御Td) + 苯环加成B) + 0.5 然后,用生命值 H 的数值,乘以6,得到的数作为随机的“次数”(如10血,就是有60个独立随机数), 这些独立的随机数在0到1之间,然后这么多个随机数(称为r)独立与 (攻击概率) p 比较, 如果每一个 r < p ,就算命中。总的命中总数再除以6,就是防御单位受到的攻击。 因此,所谓“暴击”,就是在每次独立计算 r < p 中,如果随机得符合 r < p 的次数比 6*H*p 多, 那就是所谓暴击了。当然,由此可见攻击也有可能会降低。 若忽略这微小的随机波动。有效攻击力计算公式可直接简化为: 有效攻击力 = 攻击方血量 * 攻击概率p (攻防双方的有效攻击力计算,反之亦然) 按 机枪兵 对 等离子 的计算(大家都在平原地形) 机枪兵攻击概率 p = 0.05 * ( (3 + 0 ) - (14 + 0 ) + 0) + 0.5 = -0.55 + 0.5 = -0.05 等离子攻击概率 p = 0.05 * ( (10 + 0 ) - (5 + 0 ) + 0) + 0.5 = 0.25 + 0.5 = 0.75 (由于p是概率,所以p小于0时算为0,p大于1时算为1) 所以绝大部分情况下 机枪兵 对 等离子的有效攻击力为 10 * 0 = 0 等离子 对 机枪兵的有效攻击力为 10 * 0.75 = 7 (官方说明是小数按下取整) 参考 http://www.uniwar.com/forum/posts/list/454.page