Lua随机功能乱七八糟

时间:2014-10-25 08:09:09

标签: math random lua

我正在尝试用lua设计游戏(这是我的第一个镜头)。现在我坚持使用math.random和math.randomseed()函数。我已经通过了数学库,但它甚至让我更加困惑。 我想随机化3个函数(意味着我想要随机调用3个函数)。 我如何使用math.random()函数执行此操作?

另外,哪种随机功能更好,更安全? math.random()或math.randomseed()?

请帮助

1 个答案:

答案 0 :(得分:2)

首先 - 澄清。函数random.randomseed() 初始化随机数生成器。这意味着您应该在程序开始时调用它,通常在第一次random.random()调用之前。

现在,要解决您的问题并随机调用三个函数,您必须使用random.random()生成的数字来调用这些函数(数字从0到1)。这是一种方法:

local function first()
    …
end
local function second()
    …
end
local function third()
    …
end

random.randomseed(os.time()) -- initialize random number generator with time

local number = random.random()
if number < 0.3333 then
    first()
elseif number < 0.6666 then
    second()
else
    third()

现在,您可以循环执行此操作,以便多次调用您的函数。您还可以更改概率(在上面的代码中,从长远来看,调用频率first()将类似于second()third())。如果你需要更频繁地调用其中一个函数,只需调整条件中的数字)。