好的,所以我在Lua编写了一个涉及随机数字的程序,它运行正常...没有math.randomseed(os.time())
当我添加它时,它会导致math.randomseed(os.time())
我的代码显示在这里:
local group1stregnths = 0
local group2stregnths = 0
function balancestregnths()
math.randomseed(os.time())
local assignedstrengths = math.random(1,6)
if assignedstrengths == 1 then
if group1stregnths == 2 then
balancestregnths()
end
if group1stregnths < 2 then
group1stregnths = group1stregnths + 1
end
end
return assignedstrengths
end
这是溢出......
lua: Main.lua:17: stack overflow
stack traceback:
Main.lua:17: in function 'balancestregnths'
任何帮助?
答案 0 :(得分:2)
您不能在程序中多次调用randomseed
。每次拨打balancestregnths
时,您都会继续重置种子,这意味着您可以随机获取相同的随机数量。序列。该序列导致非终止递归调用。
尝试将math.randomseed(os.time())
移至脚本顶部。