英雄无敌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分了。
如果城镇更多,那就意味着可以有更充裕的时间。
另外讲个bug。
由于英雄无敌3开发的时间比较早,有一些隐藏很深的bug后期才被挖掘出来。
在游戏中时间的天数,是16位存储的。在程序中隐藏的上限是32767,下限是-32767。
人是可以天然分清楚这些上限和下限的。但对于计算机程序来说,一旦天数达到32767,再过一天,计算机会自动+1,增长到最低的数值(因为它是一个环形的数据链,最高和最低是挨着的。。。),也就是说,天数为32767的时候,再过一天,会变成天数-32767。
这个时候。。。玩家取得胜利。。。。这个天数由于是减法。。。负负得正。。。也就是说。。。这个最终分数会变的。
惩罚
![]()
![]()
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.