Lua 中的math.random只产生一个数字

我在Lua中制作了一个游戏,随机生成1到10的数字,玩家需要猜测数字。然而,似乎只生成了数字9。以下是代码:

number = math.random(1,10)

function guess(number)
  print("请输入1到10之间的数字:")
  input = io.read()
  if tonumber(input) < number then
    print("太小了!")
    guess(number)
  elseif tonumber(input) > number then
    print("太大了!")
    guess(number)
  elseif tonumber(input) == number then
    print("你猜对了!")
 end
end

guess(number)

应该使用math.random()在1到10之间生成随机数字并将其存储在数字变量中,但似乎生成的数字总是9。这可能是什么原因,并且如何解决?

点赞
用户1266551
用户1266551

虽然 math.random() 的名字是随机的,但它实际上并不是真正的随机数生成器。它是一个伪随机数生成器,这意味着给定相同的输入和种子,它总是会产生相同的结果。在您的情况下,您没有使用 math.randomseed(seed) 来提供随机数生成器的种子。一个常见的提供种子的方法是使用 os.time(),像这样:math.randomseed(os.time())

2017-02-15 05:22:15