- 积分
- 4923
- 威望
- 48
- 魅力
- 55
- 经验
- 3879
- 热心度
- 0
- 注册时间
- 2013-8-7
- 最后登录
- 2024-11-22
- 主题
- 42
- 回帖
- 244
- 精华
- 3
- 阅读权限
- 90
TA的每日心情 | 开心 昨天 10:13 |
---|
签到天数: 212 天 连续签到: 20 天 [LV.7]血污怪
论坛嘉宾
- 积分
- 4923
|
事情是这样的。
在《Miser二追魔宠版》里有个重要参数——基础资质。
基本上脚本内所有的系数换算都是以这个为基础的。
这个参数来源于我对九个城镇生物属性统计后,经过线性加权计算来的。
计算的基准是7级高级生物的平均资质为60000。这个值,我定义为资质真值。
而大家看到的其实是600。这个值,我定义为显示值。
因为资质的重要性,所以这样定义就多了两位有效数字,计算更加精准。
下面说说蛋痛的问题:
当时认为系统变量上限(大约是2后面10个零)已经够大了,浪费2个数位提高数据精确性也足够了。
因为我是不玩变态地图的,这个数字应该足够了。
但是今天突然发现,在英雄单格生物超过大约1万个泰坦的生物时,某些计算会超过2*10e,造成溢出。
我不知道变态地图里单格生物会有多少。。估计会超过1万吧。
下面对我列出的解决方案进行投票:
方案一:取消2位有效数字。这样容量就增加了100倍。。100万个泰坦,不会超了吧。。
这个方法有2个坏处。。一是我要重新定义所有系数,部分计算函数也要调整。。好吧,这个请无视。。二是计算精度下降。。
方案二:减少100倍的生物资质权值。。其实效果同一。。只是计算方法变了。。坏处也同一。。
方案三:一般计算机编程为了提高精度,计算顺序是加=减=乘,最后算除。。在可能产生溢出的地方,先行进行约分或除运算。。别小看一个运算顺序,在计算机里影响很大的。。
这个方法精度下降很有可能超过方案一和二,能提高大约5倍的数据容量。好处是。。我改的地方少了。。
方案四:单格兵1万个泰坦够了,不需要更改。呵呵。。
现在就这三个方案进行投票,如果哪位有更好的解决方案,请在回复里注明。。
一周后,我会根据投票结果,对脚本参数进行调整。
感谢大家参与。。
|
|