lua中的math.random只生成一个数字

时间:2017-02-15 02:16:07

标签: lua

我在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.可能导致此问题的原因,以及如何修复它?

1 个答案:

答案 0 :(得分:2)

尽管它的名字math.random()实际上并不是随机的。它是一个伪随机数生成器,这意味着给定相同的输入和种子它将始终产生相同的结果。在您的情况下,您不使用math.randomseed(seed)为随机数生成器播种。提供种子的常用方法是使用os.time(),如下所示:math.randomseed(os.time())