标题: 求曹操传武将加入等级计算方法
性别:男-离线 墨眉如龙

Rank: 5Rank: 5
组别 校尉
级别 偏将军
好贴 1
功绩 14
帖子 352
编号 2140
注册 2003-11-14


发表于 2011-5-19 08:28 资料 文集 短消息 看全部作者
引用周瑜大大的帖子
来源:三国友盟论坛,原作者:piccolo

在 雪涟漪,XYZ,bbschat,van,重阳 等各位大侠的不懈努力下,新加入武将等级终于有了精确的计算方法了。
还要特别感谢 van 提供的程序bug报告,使该项工程进展得到了质的飞跃。提议对 van 进行嘉奖。
在下做了一下整理,希望能方便大家参考。

新加入武将等级具体计算方法如下

下列计算中若产生小数,则自动取整,小数点后全部舍去。如 3.97 取整后为 3 。
1。所有武将等级为降序排列的情况下:
    新加入武将等级 = 等级最高的 n 人的等级总和 / n
    (n = 新武将加入前队伍中的总人数 < 超过15时取15 > )
    例如:
        曹操(lv17)、其余16人(lv3),则
        新加入武将等级 = ( 17 + ( 14 * 3 ) ) / 15 = 59 / 15 = 3.93 = 3

2。所有武将等级非降序排列的情况下:
    新加入武将等级 = ( 等级最高的 n 人的等级总和 + A ) / n
    (注:n = 新武将加入前队伍中的总人数 < 超过15时取15 > )
    A 的计算方法如下:
        由于所有武将等级非降序排列,所以相对于按照等级降序排列时的位置排列,必定有人的位置向后移动了(我们这里只要关注位置后移的人,前移的人不用管)。
        先找出所有位置后移的人,然后再这些人中找到后移位数最多的人。如果有多个人的后移位数并列最多,则取其中按照武将顺序排列时排位最靠后的那人。记住此人的等级是多少,最后再找低于该等级的所有武将中的最高等级,即为 A 的值。

    例如:
    当前所有武将顺序排列如下:
        1:曹操(lv9)、2:夏侯敦(lv6)、3:曹仁(lv9)、4:夏侯渊(lv5)、5:乐进(lv8)、6:李典(lv4)、7:曹洪(lv6)
    如按照降序排列则应当为:
        1:曹操(lv9)、2:曹仁(lv9)、3:乐进(lv8)、4:夏侯敦(lv6)、5:曹洪(lv6)、6:夏侯渊(lv5)、7:李典(lv4)
        (注:若等级相同时,则保持原来的武将排列顺序,所以曹操排在曹仁之前、夏侯敦排在乐进之前)
    其中按武将顺序排列时的位置,相对于按照等级降序排列时位置后移的武将有:
        曹仁—— 2 -> 3 后移 1 位
        乐进—— 3 -> 5 后移 2 位
        曹洪—— 5 -> 7 后移 2 位
    后移最多的是后移 2 位,有乐进和曹洪2人。但是按照武将顺序排列时,曹洪排在乐进后面,所以记录下曹洪的等级为 6。然后找到低于 lv6 的武将有夏侯渊(lv5)和李典(lv4),取等级最高的是夏侯渊(lv5),即 A = 5。则
   新加入武将等级 = ( 9 + 9 + 8 + 6 + 6 + 5 + 4 ) + 5 / 7 = 52 / 7 = 7.43 = 7

另:若同时有多名武将加入时,则要按照加入的先后次序,逐个分别进行计算,因此可能发生同时加入武将的等级不同的情况,至于加入的先次序,可以参考游戏中的剧情。例如:吕布包围战后加入的3人顺序就应当是 貂蝉、张辽、贾诩。

此外,关羽加入时在上面的计算结果上另外还有 3 级的加成。这算是个特例吧。看来光荣公司确实把关羽作为一个特殊的人物来对待了。

顺便说一句,改来的敌方武将不会参与到等级的计算中。
而计算敌方出场武将等级时是会考虑改来的敌方武将的

http://www.xycq.net/forum/viewth ... horuid=0&page=1


顶部

正在浏览此帖的会员 - 共 4 人在线




当前时区 GMT+8, 现在时间是 2024-11-20 13:44
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.009319 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP