魔兽世界 荣誉军衔问题的质疑

1:先介绍下我的军衔情况
上周 230000荣誉 一区罗宁排名40 直接从R5一等军士长85%跳到了R7血卫士6% 按照网上有些算法(25000+5000×85%)×0.8+10000(奖励分)=33400 只能到R6,是不可能跳级的,但是实际情况是我跳了。所以有点质疑。
2:本周我350000荣誉左右,估计也只能排40名左右。请问能否跳到R8军团士兵。谢谢回答。
其实明天就有结果了,但我还是想知道具体是怎么算的。别粘贴那些文章过来,谢谢!

第1个回答  2007-06-11
现在应该没有军衔的设置了(台版)

第一种算法
我只把重点部份提出来
首先了解几个名词
CP 当周荣誉点数
WS 当周排名
NR 当周伺服器有排名的人数(荣誉击杀超过15人才有计算)
RP 军阶点数=奖励点数(我尽量称奖励点数可能更容易懂)

先介绍一张表格
****列表一****
军阶 军阶点数
1 15 HK
2 2000
3 5000
4 10000
5 15000
6 20000
7 25000
8 30000
9 35000
10 40000
11 45000
12 50000
13 55000
14 60000
****列表一****

这张表格是总军阶点数
举个例子:打到R14总共需要60000的军阶点数..而打到R13至少需要55000的军阶点数
反过来就是说:R13,0%你目前的总军阶点数就是55000

------------------------------算式第一阶段---------------------------------
再介绍一张表
**************************列表二*************************
Group BreakPt % in Group RP at BreakPt v1.12 BreakPt
14 0.002 0.2 12000 0.003
13 0.007 0.5 11000 0.008
12 0.017 1.0 10000 0.020
11 0.037 2.0 9000 0.035
10 0.077 4.0 8000 0.060
9 0.137 6.0 7000 0.100
8 0.207 7.0 6000 0.159
7 0.287 8.0 5000 0.228
6 0.377 9.0 4000 0.327
5 0.477 10.0 3000 0.436
4 0.587 11.0 2000 0.566
3 0.715 12.8 1000 0.697
2 0.858 14.3 400 0.845
1 1.000 14.2 0 1.000
**************************列表二*************************

*********************补充*************************
当周第一名可以拿到13000RP完美奖励,完全不看荣誉点数
*********************补充*************************

这张表主要是分区块,这边不太懂没关系,稍微看一下就好
名词解释,可能不是解释的很好
Group:奖励分配区块

BreakPt:照字面翻译是断点,下面会有更详细介绍,这边稍微记一下就好
不过现在都请看最后一排的v1.12 BreakPt因为改版了= =

% in Group:总共多少人落在这个Group内,这个不需要管他,简单的说只是把BreakPt上下相减的结果

RP at BreakPt:断点上的奖励点数,也可以视为Group最低奖励点数RPlo,这个参数下面会用到,可以稍微记一下

所谓的Group就是RP的奖励分配区块
举例Group14的RP at BreakPt是12000 也就是当周排名进入Group14的就至少有12000点的奖励点数,至于如何分排名落在哪一个Group就是看v1.12 BreakPt
---------------------------------------------------------------------------
以上说明稍微看过之后,**重点**来了
先介绍两个公式
WS (at breakpoint) = 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 所以我先假设我可能排进Group 14
Group14的WS就要查表 V1.12 BreakPt=0.03

WS(at breakpoint)= 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%

第二种算法
军阶 分数
1 15 HK
2 2000
3 5000
4 10000
5 15000
6 20000
7 25000
8 30000
9 35000
10 40000
11 45000
12 50000
13 55000
14 60000

如果有安装荣誉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 名所得到的分数。

接下来介绍下一张表…
等级 累积比例 巴仙数 分界线分数
14 0.003 0.3 12000
13 0.008 0.5 11000
12 0.020 1.2 10000
11 0.035 1.5 9000
10 0.060 2.5 8000
9 0.100 4.0 7000
8 0.159 5.9 6000
7 0.228 6.9 5000
6 0.327 9.9 4000
5 0.436 10.9 3000
4 0.566 13.0 2000
3 0.697 13.1 1000
2 0.845 14.8 400
1 1.000 15.5 0

我这周得到6500的分数,正好落在下面列出这之间
9 0.100 4.0 7000
8 0.159 5.9 6000

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 名上下吧!
第2个回答  2007-06-11
nb
相似回答