现在应该没有军衔的设置了(台版)
第一种算法
我只把重点部份提出来
首先了解几个名词
CP当周荣誉点数
WS当周排名
NR当周伺服器有排名的人数(荣誉击杀超过15人才有计算)
RP军阶点数=奖励点数(我尽量称奖励点数可能更容易懂)
先介绍一张表格
****列表一****
军阶军阶点数
115HK
22000
35000
410000
515000
620000
725000
830000
935000
1040000
1145000
1250000
1355000
1460000
****列表一****
这张表格是总军阶点数
举个例子:打到R14总共需要60000的军阶点数..而打到R13至少需要55000的军阶点数
反过来就是说:R13,0%你目前的总军阶点数就是55000
------------------------------算式第一阶段---------------------------------
再介绍一张表
**************************列表二*************************
GroupBreakPt%inGroupRPatBreakPtv1.12BreakPt
140.0020.2120000.003
130.0070.5110000.008
120.0171.0100000.020
110.0372.090000.035
100.0774.080000.060
90.1376.070000.100
80.2077.060000.159
70.2878.050000.228
60.3779.040000.327
50.47710.030000.436
40.58711.020000.566
30.71512.810000.697
20.85814.34000.845
11.00014.201.000
**************************列表二*************************
*********************补充*************************
当周第一名可以拿到13000RP完美奖励,完全不看荣誉点数
*********************补充*************************
这张表主要是分区块,这边不太懂没关系,稍微看一下就好
名词解释,可能不是解释的很好
Group:奖励分配区块
BreakPt:照字面翻译是断点,下面会有更详细介绍,这边稍微记一下就好
不过现在都请看最后一排的v1.12BreakPt因为改版了==
%inGroup:总共多少人落在这个Group内,这个不需要管他,简单的说只是把BreakPt上下相减的结果
RPatBreakPt:断点上的奖励点数,也可以视为Group最低奖励点数RPlo,这个参数下面会用到,可以稍微记一下
所谓的Group就是RP的奖励分配区块
举例Group14的RPatBreakPt是12000也就是当周排名进入Group14的就至少有12000点的奖励点数,至于如何分排名落在哪一个Group就是看v1.12BreakPt
---------------------------------------------------------------------------
以上说明稍微看过之后,**重点**来了
先介绍两个公式
WS(atbreakpoint)=round(NR*BreakPt)
CP(breakpoint)=(CP(WS)+CP(WS+1))/2
这两句的意思我简单的翻译先翻译一次
排名的断点=这周的NR(参与排名的总人数*BreakPt(要用V1.12的列表))
荣誉点数断点=(WS的荣誉点数+(WS+1)的荣誉点数)/2
先简单介绍到这边
-------------------------------算式第二阶段--------------------------------
马上进入较为轻松愉快的阶段.....==
直接计算我们总共能获得多少的奖励点数
RP=(CP-CPlo)/(CPup-CPlo)*(RPup-RPlo)+RPlo
整句简单翻译
奖励点数=(我的荣誉点数-(断点)最低荣誉点数)/(最高荣誉点数-最低荣誉点数)*(最高奖励点数-最低奖励点数)+最低奖励点数
看似复杂其实相当简单...不过稍微看一下就好,直接看举例比较快...
-------------------------------算式第三阶段--------------------------------
介绍最后的公式,应该称为一段小程式
Decay=round(0.2*RP);
Delta=Earning-Decay;
if(Delta<0){
Delta=Delta/2;
}
if(Delta<-2500){
Delta=-2500;
}
RP=RP+Delta;
我用稍微白话的方式介绍这段程式...
这是用来计算这周结算之后的总军阶点数,也就是本周变更后的军阶和%数的程式
由于这里的RP跟上面那个算式第二阶段的RP其实有点差异我稍微说明
因为奖励点数和军阶点数只是我翻成中文为了更容易明白
所以在各部分说法不同,只是为了更好懂,实际上都是RP
可是这段程式码的RP与公式RP=(CP-CPlo)/(CPup-CPlo)*(RPup-RPlo)+RPlo不一样...
白话的说一个是总军阶点数,一个是本周奖励点数
实际上公式中的RP在程式码内是参数Earning...
再来说明如何计算的
首先程式会先算出未结算之前的总军阶点数20%
然后用奖励点数-总军阶点数20%跟0做比较,如果<0就再除以2
再跟-2500做比较如果小于-2500则缩减设定2500(避免降过多)
最后再加到未结算之前的军阶点数上,就是我们说的刷军阶
这里有点不好懂可以直接看最下面举例的部分
===========================================================================
最后举个例子说明帮助大家了解以上算式真正的运作方式,可以互相参照
EX:
假设我目前R13,30%
这周排名第2打了90万
第一名打了100万,第三名80万第四名打了70万
这周有1000人荣誉击杀超过15人(NR)
我希望能算出这周结算我会变成多少%
SOL:
首先我希望先算出我位于哪一个Gruop之内,断点荣誉为何
所以NR=1000
因为我排名第2所以我先假设我可能排进Group14
Group14的WS就要查表V1.12BreakPt=0.03
WS(atbreakpoint)=NR*BreakPt=1000*0.03=3(排名上的断点)
算出来之发我发现我第2比3还小,所以可以证明我是在Group14内
所以基本上我最少有12000点的奖励点数,至于可以多多少要继续往下看
CP(WS)=第3名荣誉=80W
CP(WS+1)=CP(4)=第4明荣誉=70W
CP(breakpoint)=(80+70)/2=75W
也就是说:排名3以上的玩家最少都能获得12000点的奖励点数,我排名落在Group14,而荣誉点数断点是75W
再利用公式
RP=(CP-CPlo)/(CPup-CPlo)*(RPup-RPlo)+RPlo
先统计资料
CPlo=75W这是我们刚算出来的
CPup=100W因为我是最高Group所以最高荣誉点数就是第一名打的100万
RPlo=12000因为Group14最低可以获得12000(查表)
RPup=13000因为Group14再上去就只有第一名,第一名固定奖励点数13000
再来做计算
RP
=(90-75)/(100-75)*(13000-12000)+12000
=15/25*1000+12000
=12600
到这里才真正算出这周奖励点数
再来是做军阶变动的部分,也就是刷军阶
Decay=round(0.2*RP);
Delta=Earning-Decay;
if(Delta<0){
Delta=Delta/2;
}
if(Delta<-2500){
Delta=-2500;
}
RP=RP+Delta;
首先要先算出总军阶点数(RP)
因为目前是R13,30%,所以
55000+30%*(60000-55000)=56500以此类推
这周奖励点数12500(程式中的Earning)
那么12600-56500*0.2=12600-11300=1300>0
所以结算之后的军阶点数是
56500+1300=57800
至于换算之后是R几多少%呢
因为55000<57800<60000
所以还是R13
先用57800-55000=2800
再把2800/(60000-55000)=56%
所以这周变成R13,56%
第二种算法
军阶分数
115HK
22000
35000
410000
515000
620000
725000
830000
935000
1040000
1145000
1250000
1355000
1460000
如果有安装荣誉UI的人,会知道你目前的官阶,及%数…
举例:如我上一周是资深士官R4(10%)升到一等士官R5(40%)且排名24
R4(10%)=10000+(15000-10000)*0.1=10500
^^^^^^^^^^^^^从R3以后5000就是一个常数
R5(40%)=15000+5000*0.4=17000
也就是说10500*0.9+X=17000(为啥乘0.9请看资料来源说明)
X=6500,这6500就是我这周排名24名所得到的分数。
接下来介绍下一张表…
等级累积比例巴仙数分界线分数
140.0030.312000
130.0080.511000
120.0201.210000
110.0351.59000
100.0602.58000
90.1004.07000
80.1595.96000
70.2286.95000
60.3279.94000
50.43610.93000
40.56613.02000
30.69713.11000
20.84514.8400
11.00015.50
我这周得到6500的分数,正好落在下面列出这之间
90.1004.07000
80.1595.96000
6500刚好落在分界线分数6000-7000的中间…
但累积比例却不是线性的…
故我假设0.159-0.100是一条直线而非曲线…
来反推本周我伺服器有资格列入排名的总人数是24/(0.1+0.159)/2=185
我算他200人好了~~
这个数字只是略估,只是让我知道我伺服器部落阵营里会去玩战场的人大概多少人
再来…我一般都排名在20-25之间,在我同时也跟公会去ZG,有空就打战场…
这个排名除非我决定爆肝打战场,否则也可以看成一个常数了~~
换句话说我假设我每周可以得到分数是约7000吧!
透过第一个表,可以计算,你从某官阶,升到心里想要的阶级,大概要花多少时间…
例,我现在是R5(40%),这周我如何得到7000分,下次更新后我的官阶跟%数是?
17000*0.9+7000=22300->升到R6的0.46%
22300*0.9+7000=27070->升到R7的0.41%
27070*0.8+7000=28656->维持在R7但从0.41%升到0.73%
依此类推之后,我知道我最后会卡在R8就升不上去了~~
如果要继续往上升,那我的排名最好维持在15名上下吧!