如何在love2D中生成随机十进制数?

How to generate a random decimal number in love2D?

我尝试使用以下代码在 love2d 中生成一个介于(假设介于 0.3 和 0.8 之间)之间的随机十进制数:

x=math.random(0.3, 0.8)
print(x)

但是每次我 运行 程序和 0.4 中的 0 闪烁时它都会生成 0.3(从某种意义上说它变成了 1)。

如果有帮助,请看这里的屏幕记录https://vimeo.com/632949687

检查功能

function random(min, max, precision)
    local precision = precision or 0
    local num = math.random()
    local range = math.abs(max - min)
    local offset = range * num
    local randomnum = min + offset
    return math.floor(randomnum * math.pow(10, precision) + 0.5) / math.pow(10, precision)
end

您的问题未明确说明。这里有两个简单的解决方案;它们不等同。

这会生成集合 {0.3,0.4,0.5,0.6,0.7,0.8} 中的随机数:

math.random(3,8)/10

这会生成区间[0.3,0.8]中的随机数:

0.3+(0.8-0.3)*math.random()

在 LÖVE 中有 random() 的平台独立版本。
https://love2d.org/wiki/love.math.random
无需使用 math.randomseed()love.math.setRandomSeed().
对于 0 和 1 范围内的浮点数,只需使用...
love.math.random()

'but what happens is it generates 0.3 every single time'
同样在这里,所以最简单的方法似乎是@lhf'示例。