我正在尝试用lua设计游戏(这是我的第一个镜头)。现在我坚持使用math.random和math.randomseed()函数。我已经通过了数学库,但它甚至让我更加困惑。 我想随机化3个函数(意味着我想要随机调用3个函数)。 我如何使用math.random()函数执行此操作?
另外,哪种随机功能更好,更安全? math.random()或math.randomseed()?
请帮助
答案 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()
)。如果你需要更频繁地调用其中一个函数,只需调整条件中的数字)。