当前位置 : 主页 > 网络编程 > lua >

Lua数学不行

来源:互联网 收集:自由互联 发布时间:2021-06-23
所以我正在尝试创建一些东西,我已经看到了寻找生成一个随机数的方法.然而,无论我在哪里测试我的代码,都会产生一个非随机数.这是我写的一个例子. local lowdrops = {"Wooden Sword","Wooden
所以我正在尝试创建一些东西,我已经看到了寻找生成一个随机数的方法.然而,无论我在哪里测试我的代码,都会产生一个非随机数.这是我写的一个例子.

local lowdrops =  {"Wooden Sword","Wooden Bow","Ion Thruster Machine Gun Blaster"}
local meddrops =  {}
local highdrops = {}

function randomLoot(lootCategory)
    if lootCategory == low then
        print(lowdrops[math.random(3)])
    end
    if lootCategory == medium then

    end
    if lootCategory == high then

    end
end

randomLoot(low)

无论我在哪里测试我的代码,我得到相同的结果.例如,当我在这里测试代码http://www.lua.org/cgi-bin/demo时,它总是以“Ion Thruster Machine Gun Blaster”结束,并且不随机化.对于这件事测试简单

random = math.random (10)
print(random)

给我9,有没有我失踪的东西?

在使用math.random()之前,您需要运行math.randomseed()一次,像这样:

math.randomseed(os.time())

一个可能的问题是,在某些平台中,第一个数字可能不会如此“随机化”.所以一个更好的解决方案是在使用它们之前弹出一些随机数:

math.randomseed(os.time())
math.random(); math.random(); math.random()

参考:Lua Math Library

网友评论