2017-02-15 6 views
0

Я сделал игру в lua, где число от 1 до 10 генерируется произвольно, и игроку нужно угадать номер. Единственное число, что, как представляется, генерируются, однако, 9. Вот код:math.random в lua только генерирует один номер

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) 

случайное число между 1 и 10 должно быть создано с помощью math.random() и сохраняется в переменном числе, но кажется, что число, которое генерируется, всегда 9. Что может быть причиной этого и как его исправить?

+0

может помочь [Lua случайное число дубликатов] (http://stackoverflow.com/questions/21806787/lua-random-number) –

+2

Возможный дубликат [ Lua random number?] (Http://stackoverflow.com/questions/21806787/lua-random-number) – hjpotter92

+0

Я бы согласился, что это дубликат. Как забавно, связанный вопрос также является дубликатом ... Дублирование? – Josh

ответ

2

Несмотря на это имя math.random() на самом деле не является случайным. Это генератор псевдослучайных чисел, что означает, что при использовании одного и того же входа и семени он всегда будет давать одинаковый результат. В вашем случае вы не высеваете свой генератор случайных чисел, используя math.randomseed(seed). Обычный способ предоставления семени является использование os.time() так: math.randomseed(os.time())

+0

Устранена проблема. Благодаря! – HungryHobo