在.lua编程中的随机数

我需要在.lua中随机生成一个数字(1或2),并且每隔3秒钟更换一次这个数字。

我有一个变量=randomMode,这个randomMode必须每3秒钟更换一次(1或2)。

点赞
用户3586583
用户3586583

你可以尝试制作一种可以改变数值的计时器。例如,主程序循环可以使用时间戳每3秒钟更改变量。

如果你无法使用好的方式来实现计时器,也许只需检查自上次调用以来经过的时间戳就足够了。例如,此函数每次调用GetRandomMode时都会随机化数字,如果经过了3秒以上:

local lastChange = os.time()
local mode = math.random(1, 2)
function GetRandomMode()
    local now = os.time()
    if os.difftime(now, lastChange) > 3 then
        lastChange = now
        mode = math.random(1, 2)
    end
    return mode
end
2015-11-19 21:36:17