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