如果生命值没有出现在这个范围中时
则可以想办法手动调整到这个范围
比如当塔攻击远程兵时
无论怎样都无法只用一次攻击完成补刀
但是可以先攻击一次 然后在塔攻击2次后再攻击一次
即可成功补刀
上面的数据只是在没有人干扰时候的补刀
和每个英雄对线的时候
攻击力高的占有补刀优势
但补刀的容易程度与弹道无关
以下部分为证明过程
为了版面整齐设置了隐藏
A、B之间比拼补刀
假设A和B均有最多攻击一次的机会
原因:在多次攻击的攻击间隔,因为任何英雄的攻击间隔都远大于动画损伤点,而在发动攻击后到下次攻击开始之间这段时间是不能攻击的,对手则可以利用这点从容补刀,即相当于对手在单机练习补刀!这也是'地板流'补刀无法补过真正补刀的人的原因
设A、B的攻击力分别是SA、SB
即A攻击一次伤害为SA,B攻击一次伤害为SB
设小兵初始生命值为L0,生命值流逝速度,即单位时间被对方小兵攻击而损失的生命值为v
那么以该小兵满血为时间数轴的原点,则t时刻该小兵的血量函数 L(t) = L0 - vt
定义攻击延迟 = 动画损伤点 / (1 敏捷*1%) 射程 / 箭矢飞行速度
这也是单位移动进入射程发布'攻击'命令后,攻击的单位实际上受到伤害所需的时间,
计A的攻击延迟为tA,B的攻击延迟为tB
A为了补到兵,应该使他的攻击投射物到达小兵身上时,小兵的血量在(0,SA]之间
当取0时, A的最晚出手时间 tA2 = L0/v - tA
当取SA时,A的最早出手时间 tA1 = (L0-SA)/v - tA
同理, B的最晚出手时间 tB2 = L0/v - tB
B的最早出手时间 tB1 = (L0-SB)/v - tB
对于 tA与tB 和 SA与SB 的大小关系有4种情况,因为对称性,不妨设 tA<tB,
下面就SA与SB的关系分两种情况讨论:
(以下讨论没有考虑tA与tB或者SA与SB完全相等的情况,不过在最后的结论中,将'='号归于'>'或者'<'任意一边均可)
(1)SA>SB
当B单机时,B需要在ty时刻补刀, tB1 < ty < tB2;
因为人的操作原因,假设B在(tB1,tB2)间任一时刻做出攻击的概率相等;
当A单机时,A需要在tx时刻补刀, tA1 < tx < tA2;
假设A在(tA1,tA2)间任一时刻做出攻击的概率相等;
这个假设也是证明这个结论的基础假设,在备注里会说明当这个假设不满足时的情况
当A的伤害比B先到达,即 tx tA < ty tB 的情况下,A可以成功补刀
此时 tx < tB - tA ty
又因为SA>SB,所以对于任意ty ,满足条件的tx存在,
且在(tA1,tA2)之间,tx满足条件的概率为 (tx-tA1)/(tA2-tA1) = (tB-tA ty-tA1)/(tA2-tA1)
对上式从 y1=tB1 到 y2=tB2 积分,得到A成功补刀的概率为:
积分:从y1=tB1 到 y2=tB2,(tB-tA ty-tA1)/(tA2-tA1) * dy / (tB2-tB1)
= 1/2 * (1/(tA2-tA1)) * (y tB-tA-tA1)^2(y2=tB2,y1=tB1) / (SB/v)
= (2SA-SB)*SB/(2SA*v) / (SB/v)
= 1 - (SB/2SA)
即当SA>SB时,A补到兵的概率为 E(A) = 1 - (SB/2SA)