东方不败
Lua使用math.random获取随机数每次获取的随机数都一样,这是因为Lua的随机数再调用math.random之前要调用一下math.randomseed,否则就会每次获取一样的随机数。
randomseed的值可以利用系统时间为种,从而达到相对随机。(我目前的理解,Lua的随机数是伪随机数)
简单一点的办法就是:
math.randomseed(os.time())
更复杂一点的办法,让随机数看起来更随机的方法:
math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 9)))
每调用math.random前,调用一下上面的方法之一即可。
math.random的方法有三种:
切记调用math.random前调用math.randomseed。
有人说Luajit重写了random方法,可以不用调用randomseed了,这个我没有亲自实验,建议亲自实验后再确定,我的建议,还是使用一下randomseed,有备无患,Luajit的版本和开启模式会有一些不一样,在iOS上使用Luajit的非JIT模式,似乎并不生效。建议,凡事亲自试一下再使用。