Page 1 of 1

Need help with random.math

Posted: Tue Dec 28, 2021 1:53 pm
by sebadiazssj3
I'm trying to get diferent numbers every time opening love but always get the same ones

Need help please!!

The code:

function love.load(math.getRandomSeed())
numero1 = math.random(1, 48)
numero2 = math.random(1, 48)
numero3 = math.random(1, 48)
numero4 = math.random(1, 48)
numero5 = math.random(1, 48)
end
function love.update()
if numero2 == numero1 then
numero2 = math.random(1, 48)
end
if numero3 == numero1 then
numero3 = math.random(1, 48)
end
if numero3 == numero2 then
numero3 = math.random(1, 48)
end
if numero4 == numero1 then
numero4 = math.random(1, 48)
end
if numero4 == numero2 then
numero4 = math.random(1, 48)
end
if numero4 == numero3 then
numero4 = math.random(1, 48)
end
if numero5 == numero1 then
numero5 = math.random(1, 48)
end
if numero5 == numero2 then
numero5 = math.random(1, 48)
end
if numero5 == numero3 then
numero5 = math.random(1, 48)
end
if numero5 == numero4 then
numero5 = math.random(1, 48)
end
end
function love.draw()
love.graphics.print(numero1, 100, 200)
love.graphics.print(numero2, 150, 200)
love.graphics.print(numero3, 200, 200)
love.graphics.print(numero4, 250, 200)
love.graphics.print(numero5, 300, 200)
end

Re: Need help with random.math

Posted: Tue Dec 28, 2021 2:08 pm
by EngineerSmith
You should be using `love.math.random` than lua's random. Love.math.random is seeded for you each time you run the program, so you get different values. Whilst math.random isn't seeded, and you must seed it yourself.

Re: Need help with random.math

Posted: Tue Dec 28, 2021 2:48 pm
by Ross
You need to set the random seed with 'math.randomseed' to get different random numbers from 'math.random'.

I usually do:

Code: Select all

math.randomseed(love.timer.getTime() * 10000)
...in love.load (you just need call it once).

Re: Need help with random.math

Posted: Tue Dec 28, 2021 4:07 pm
by sebadiazssj3
This is the code that i was acctualy using

function love.load()
numero1 = math.random(1, 48)
numero2 = math.random(1, 48)
numero3 = math.random(1, 48)
numero4 = math.random(1, 48)
numero5 = math.random(1, 48)
end
function love.update()
if numero2 == numero1 then
numero2 = math.random(1, 48)
end
if numero3 == numero1 then
numero3 = math.random(1, 48)
end
if numero3 == numero2 then
numero3 = math.random(1, 48)
end
if numero4 == numero1 then
numero4 = math.random(1, 48)
end
if numero4 == numero2 then
numero4 = math.random(1, 48)
end
if numero4 == numero3 then
numero4 = math.random(1, 48)
end
if numero5 == numero1 then
numero5 = math.random(1, 48)
end
if numero5 == numero2 then
numero5 = math.random(1, 48)
end
if numero5 == numero3 then
numero5 = math.random(1, 48)
end
if numero5 == numero4 then
numero5 = math.random(1, 48)
end
end
function love.draw()
love.graphics.print(numero1, 100, 200)
love.graphics.print(numero2, 150, 200)
love.graphics.print(numero3, 200, 200)
love.graphics.print(numero4, 250, 200)
love.graphics.print(numero5, 300, 200)
end


Not function love.load(math.getRandomSeed()) sorry the mistake

Re: Need help with random.math

Posted: Tue Dec 28, 2021 8:45 pm
by zorg
the answer is still the same, either set the random generator's seed as per an earlier post, or just use love.math.random