我在lua做了一个游戏,随机生成1到10之间的数字,玩家需要猜出这个数字。然而,似乎唯一生成的数字是9.这是代码:
number = math.random(1, 10)
function guess(number)
print("Please input a number between 1 and 10: ")
input = io.read()
if tonumber(input) < number then
print("Too low!")
guess(number)
elseif tonumber(input) > number then
print("Too high!")
guess(number)
elseif tonumber(input) == number then
print("You got it!")
end
end
guess(number)
应该使用math.random()创建1到10之间的随机数,并将其存储在数字变量中,但似乎生成的数字始终为9.可能导致此问题的原因,以及如何修复它?
答案 0 :(得分:2)
尽管它的名字math.random()
实际上并不是随机的。它是一个伪随机数生成器,这意味着给定相同的输入和种子它将始终产生相同的结果。在您的情况下,您不使用math.randomseed(seed)
为随机数生成器播种。提供种子的常用方法是使用os.time()
,如下所示:math.randomseed(os.time())