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



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

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

但实际情况是每次我运行程序时,它都会生成0.3,而0.4中的0有点闪烁(从某种意义上说,它变成了1)。

如果它有帮助,这里是发生的屏幕记录https://vimeo.com/632949687

您的问题没有详细说明。这里有两个简单的解决方案;它们不相等。

生成集合{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()

',但实际情况是每次生成0.3 '
这里也一样,所以最简单的方法似乎是@lhf'的例子。

检查功能

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

最新更新