英雄无敌3中,一谈到很多地图,诸多骨灰粉丝玩家都津津乐道的吹嘘自己获得了多少分数,对话通常是这样节奏的:
xx地图昨天我打了3个小时拿了480分,牛不牛?
有啥可吹的,上次我看隔壁老王在他家电脑上打了495。
大半夜的,你跑隔壁老王家里看他玩电脑???破案了啊!!!赶紧坦白交代,除了英雄无敌3还做了什么!!
那么你知道分数的计算公式吗?今天小辉就给大家介绍一下
引用国外大神Fush的简化公式:
最终得分=基础分数*难度系数分(0.8、1、1.3、1.6、2。其实就是百分比难度,200%难度就是2)
基础分数=200-(过关天数 - 我方占领城镇数 6)/(地图总城镇数 5) 25(击败所有敌人奖励分) 25(挖掘圣杯并建造的奖励分)
详细说明一下
1.200分是基础分。
2.如果击败所有敌人,奖励25分。
3.如果挖掘圣杯并建造,奖励25分。挖到之后不能读存档,不能被击败。
4.天数惩罚。由于是除法,最终处理是四舍五入。大家可以看到,前3个刚好可以凑够500分满分。由于天数惩罚值是减法,也就是说这个天数惩罚的值要为0最好。从公式看,如果地图上有7个城镇,那么就必须在1天内击败敌人(考虑四舍五入,还可以宽裕3天时间),才能获得0分。这有点扯了。不过还有别的办法。如果地图上有20个城镇,过关天数14天以下(考虑四舍五入,还可以宽裕12天时间)就可以拿天数惩罚值0分了,这样总分可以到500分了。
如果城镇更多,那就意味着可以有更充裕的时间。
战役得分:3代战役总分是根据整张战役地图的各个单关得分综合计算的:
设这张战役地图有10关,每关的得分,分别为X1 X2 X3 ……X10,
战役的总得分=(X1 X2 …… X10)/10,取整后,×5。
由于每关是500最高,因此从公式可以知道战役的最高分为2500,且得分肯定是5的倍数。
可以看出要在战役中取得满分2500,必须在战役的每个单关地图中均得到满500分——这肯定不可能。
另外讲个bug。
由于英雄无敌3开发的时间比较早,有一些隐藏很深的bug后期才被挖掘出来。
在游戏中时间的天数,是16位存储的。在程序中隐藏的上限是32767,下限是-32767。
人是可以天然分清楚这些上限和下限的。但对于计算机程序来说,一旦天数达到32767,再过一天,计算机会自动 1,增长到最低的数值(因为它是一个环形的数据链,最高和最低是挨着的。。。),也就是说,天数为32767的时候,再过一天,会变成天数-32767。
这个时候。。。玩家取得胜利。。。。这个天数惩罚由于是减法。。。负负得正。。。也就是说。。。这个最终分数会变的狂高。
具体请看下面两张图,对比下时间和分数就明白了。
欢迎关注头条号,查看更多精彩文章,谢谢。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved