騎士戰(zhàn)歌命中率和暴擊率公式算法
時間:2014-08-27 15:40:00 來源:聚俠網 作者:騎士戰(zhàn)歌的戰(zhàn)斗判定系統(tǒng)基本是源自大俠傳的,官方給出的判定公式是:
暴擊率=(攻擊目標暴擊值-被攻擊目標韌性值*1.1)/(攻擊目標等級基數*100)
命中率=(攻擊目標等級基數*100+攻擊目標命中值-被攻擊目標閃避值*0.9)/(攻擊目標等級基數*100)
那么是否可以說,雙方級別差距越大出現暴擊的幾率就越小呢?這個 也不一定,因為級別越高,各種系統(tǒng)對于下五圍的加成也就越多。相對于低級別的面板屬性,還是有一定的優(yōu)勢的。但是有一點要注意,就是面板下五圍一定要能及時的跟上自己的級別。
對于游族的概率,大家都懂的,此篇文章只是從數學和程序設計的角度來分析大坑轉程序設計人員的算法,所列算法不一定100%準確,但在我的3個號上都吻合的很好,所以發(fā)出來讓大家去驗證下。
首先,說一下我推導這個算法的思路。
(1)前提:我有3個不同等級的號,3個號的等級和閃避命中數值如下,這個提高的命中率和閃避率大家可以把鼠標放在你的命中或閃避上就能看到。我的三個好的數值如下:
61級 命中值:3334(提高20.58%命中率) 閃避值:6406(提高39.53%閃避率)
70級 命中值:8367(提高39.65%命中率) 閃避值:6604(提高31.30%閃避率)
75級 命中值:19897(提高82.56%命中率) 閃避值:30389(提高126.10%閃避率)
大家可以分析下這個數據,你會發(fā)現61級的閃避值比70級的要低,但提高的閃避率卻比70級的要高不少,因此這個提高的閃避率是跟等級相關的無疑,但是具體如何相關?計算的公式是什么?就需要進一步分析,當你把每個等級人物的 命中值/命中率 和 閃避值/閃避率 計算出來,你會發(fā)現兩個的比值是基本一致的,只有小數點后很小的位差異。
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級,對手繼續(xù)壓級,對手的命中率不變,假設你閃避值提高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個百分點,這也就是為什么很多人升級后發(fā)現閃避的概率怎么越來越不給力的原因。
這個公式只是我通過一些數值推導出來的,是不是完全準確還需要大家去驗證,根據你的等級用上面的公式算出“比率”,然后把你的閃避值除以這個比率,看看出來的數值是否跟你鼠標放上去的數值一樣。






屠龍爭霸
天下霸劍
魔導英雄傳說
暗黑大逃殺
少年三國記