尝试使用math.random返回整数,Lua语言。

我写了这段代码:

myHero = GetMyHero()

a = math.random()

function OnDraw()
    if (myHero.health < 2000) then
        DrawText(a, 30, 600, 200, 0xFFFF0000)
    end
end

math.random() 会生成浮点数,但我需要整数。我该如何生成整数?


编辑

事实证明,使用 math.random(upper)(x, y) 可以生成整数。

点赞
用户2947592
用户2947592

假设函数返回一个浮点数,范围在0 =< x < 1之间,只需将其乘以您想要的最大整数加1并向下取整。

2014-04-19 16:20:09
用户3204551
用户3204551

请查看 Lua 文档。它很容易阅读。

Lua 5.2 参考手册

math.random ([m [, n]])

此函数是一个简单的伪随机生成器函数 rand 的接口,由标准 C 提供。(对其统计特性不做保证。)

在没有参数调用时,返回一个在范围 [0,1) 内的均匀伪随机实数。当以整数 m 调用时,math.random 返回在范围 [1, m] 内的均匀伪随机整数。当以两个整数 m 和 n 调用时,math.random 返回在范围 [m, n] 内的均匀伪随机整数。

2014-04-19 16:21:18