骑士战歌 骑士战歌

运营中 | 角色扮演 | 2D

人气:2047

游戏专区 领取礼包

骑士战歌命中率和暴击率公式算法

2014-08-27 15:40:00 来源:聚侠网 作者:

骑士战歌的战斗判定系统基本是源自大侠传的,官方给出的判定公式是:

暴击率=(攻击目标暴击值-被攻击目标韧性值*1.1)/(攻击目标等级基数*100)

命中率=(攻击目标等级基数*100+攻击目标命中值-被攻击目标闪避值*0.9)/(攻击目标等级基数*100)

那么是否可以说,双方级别差距越大出现暴击的几率就越小呢?这个 也不一定,因为级别越高,各种系统对于下五围的加成也就越多。相对于低级别的面板属性,还是有一定的优势的。但是有一点要注意,就是面板下五围一定要能及时的跟上自己的级别。

对于游族的概率,大家都懂的,此篇文章只是从数学和程序设计的角度来分析大坑转程序设计人员的算法,所列算法不一定100%准确,但在我的3个号上都吻合的很好,所以发出来让大家去验证下。

首先,说一下我推导这个算法的思路。

(1)前提:我有3个不同等级的号,3个号的等级和闪避命中数值如下,这个提高的命中率和闪避率大家可以把鼠标放在你的命中或闪避上就能看到。我的三个好的数值如下:

61级 命中值:3334(提高20.58%命中率) 闪避值:6406(提高39.53%闪避率)

70级 命中值:8367(提高39.65%命中率) 闪避值:6604(提高31.30%闪避率)

75级 命中值:19897(提高82.56%命中率) 闪避值:30389(提高126.10%闪避率)

大家可以分析下这个数据,你会发现61级的闪避值比70级的要低,但提高的闪避率却比70级的要高不少,因此这个提高的闪避率是跟等级相关的无疑,但是具体如何相关?计算的公式是什么?就需要进一步分析,当你把每个等级人物的 命中值/命中率 和 闪避值/闪避率 计算出来,你会发现两个的比值是基本一致的,只有小数点后很小的位差异。

61级 命中值/命中率=3334/20.58=162.00 闪避值/闪避率=6406/39.53=162.05

70级 命中值/命中率=8367/39.65=211.02 闪避值/闪避率=6604/31.30=210.99

70级 命中值/命中率=19897/82.56=241.00 闪避值/闪避率=30389/126.10=240.99

(2)公式推导思路:以一个程序员的视角来看,上面相同等级命中值/命中率 和 闪避值/闪避率可以看作是个显示时候四舍五入的误差,因此可以假定命中和闪避的这个比率是一样的,对这个比率取整我们可以得到一些已知
条件:

等级:61 比率:162

等级:70 比率:211

等级:75 比率:241

(3)有了上面等级和比率的三个数值,而且这个比率是跟等级相关的,那么一般来说设计一个程序算法会把这个相关的公式写成什么样?如果让我来设计的话,设计成一个2次方相关是比较合理的,基于这个假设,设为如下方程:

等级×等级×X + 等级×Y + Z = 比率

也就是说比率是关于等级的一元二次方程,X,Y,Z为方程的系数,有3个系数,因此需要3个方程条件,也就是上面的已知条件,代入得到:

61×61×X + 61×Y + Z = 162

70×70×X + 70×Y + Z = 211

75×75×X + 75×Y + Z = 241

由这3个方程解出 X=0.04 Y=0.2 Z=1

因此最终的计算公式是

比率 = 0.04×等级×等级 + 0.2×等级 + 1

(4)试算

以上面的公式来做一个最常见的试算,你的闪避为40000,对手的命中为20000,那么你和对手都是压75级的时候,比率 = 0.04×75×75 + 0.2×75 +1 = 241。对手的命中率为20000/241 = 82.99,你的闪避率为40000/241=165.98,你比对手高出的闪避概率为165.98-82.99 = 82.99%,这个闪避概率还是很高的。

假设你升级到了89级,对手继续压级,对手的命中率不变,假设你闪避值提高5000到45000,计算89级的 比率=0.04×89×89+ 0.2×89+1=335.64,你的闪避率为45000/335.64=134.07,你比对手高出的闪避概率为134.07-82.99=51.08%,可见虽然你闪避值比对手又高出了5000,但其实你闪避的概率整整比之前低了30个百分点,这也就是为什么很多人升级后发现闪避的概率怎么越来越不给力的原因。

这个公式只是我通过一些数值推导出来的,是不是完全准确还需要大家去验证,根据你的等级用上面的公式算出“比率”,然后把你的闪避值除以这个比率,看看出来的数值是否跟你鼠标放上去的数值一样。 

欢迎关注我们

猜你喜欢
换一批

网友评论