赞 | 40 |
VIP | 559 |
好人卡 | 234 |
积分 | 47 |
经验 | 251834 |
最后登录 | 2024-12-5 |
在线时间 | 5240 小时 |
Lv3.寻梦者 (版主) 八宝粥的基叔
- 梦石
- 0
- 星屑
- 4694
- 在线时间
- 5240 小时
- 注册时间
- 2009-4-29
- 帖子
- 14318
|
本帖最后由 protosssonny 于 2012-3-31 14:09 编辑
- hit = (80+20.0*agi/(agi+C) ).round #C为任意正数
复制代码 以上公式的hit是永远在80到100之间的,因为agi/(agi+C) 是真分数,大于0且小于1。20乘一个真分数,值一定在0至20之间,80加一个0至20之间的数,那么值一定在80至100之间。
注意20.0不要写成20,我们需要小数来计算,纯整数会达不到目的,全部计算完毕后用.round来对命中率取整。当然你也可以自己设计为保留一位小数等,至于怎么保留,话题扯远了,我这里就不写了。
关于以上公式,可以写成:- hit = (80+20.0*agi*C1/(agi*C1+C) ).round #C、C1为任意正数
复制代码 这样可以利用敏捷的系数C1来微调命中与敏捷的关系。
比如:- hit = (80+20.0*agi*2/(agi*2+50) ).round
复制代码 {:2_273:}
|
|