lua 随机数 math.random()和math.randomseed()用法
用法一: 不给范围,就随机算一个0~1之间的小数:
用法二:给一个参数,就取1~n之间的随机数
用法三:给两个参数,就取m~n之间的随机数
math.randomseed()用法:
由于C中所产生的随机序列是固定的。也就是每次执行时取得的随机数是一样的。
lua的random函数只是对ansi c的随机函数的一次封装。所以依然存在这个问题。
在lua虚拟机启动的时候设置一个随机种子,让系统产生的随机序列不相同,
但使用randomseed的时候也还要注意一个问题,那就是做种子的数要足够的大,大于10000就行了。
解决:只要在lua虚拟机启动的时候调用一下randomseed(os.time())就可以解决这个问题了。
但是有个缺陷就是每次第一次调用时获取的随机数依然就固定的,至于原因就涉及到lua内部实现了。
解决方法很简单,就是在设置随机种子的时候调用一下random函数,随后 就能正常获取随机数了。