- UID
- 459726
- 帖子
- 4185
- 精华
- 8
- 威望
- 229
- 阅读权限
- 100
- 性别
- 女
- 来自
- 神之帝国 专业咸鱼团
- 注册时间
- 2007-10-31

|
不是说了吗……只要是0.01%的物品,无论你几级去打都是一样的
简单地补习下编程基础好了,虽然我对编程什么的也不是太熟
例如我要判定一个掉率为0.0x%的物品,最简单的写法是:
if int((10000)*rnd+1) <=int(x) then
物品掉落
end if
注意这个小于等于,这就是零偷出现的原因……
如果要进行扩展,例如吃掉宝糖,就后加一个else,循环一次。依然很简单。
如果要做惩罚,就在前面加一个if判定等级差,直接对x进行修正。但是这里存在一个问题,这里用了rnd,然而结果不允许出现小数,于是如果x出现小数,那么要正确判断两者的关系,两者最终值就都要进行取整,所以有了int。那么,修正后的x取整的结果只可能是0或者1。现在实际情况是有惩罚依然掉,所以0是不可能的,只可能是1。
回过头来看,如果要出现0.005%,那么这段代码要怎么改?重力社再怎么笨也不可能会去动那个rnd的,更不可能再来一段特殊的判断代码,这相当冗余。
嗯,有错,修正
[ 本帖最后由 黑暗咆哮 于 2010-12-7 09:42 编辑 ] |
|