Difference between revisions of "love.math.random"

m
(Examples)
 
(One intermediate revision by the same user not shown)
Line 42: Line 42:
 
function love.load()
 
function love.load()
 
     randomNumber = love.math.random(1, 100)
 
     randomNumber = love.math.random(1, 100)
 +
end
 +
</source>
 +
 +
Generate a random permutation of list:
 +
<source lang="lua">
 +
function shuffle (list)
 +
-- backward iteration from last to second element:
 +
for i = #list, 2, -1 do
 +
-- choose one of elements:
 +
local j = love.math.random(i) -- between 1 to i (both inclusive)
 +
-- replace both elements each other:
 +
list[i], list[j] = list[j], list[i]
 +
end
 
end
 
end
 
</source>
 
</source>

Latest revision as of 12:24, 23 March 2023

Available since LÖVE 0.9.0
This function is not supported in earlier versions.

Generates a pseudo-random number in a platform independent manner. This function is seeded at startup, so you generally don't need to seed it yourself.

O.png Neither this function, RandomGenerator, nor Lua math.random generates truly random number, thus it's unsuitable for cryptographic usage!  


Function

Get uniformly distributed pseudo-random real number between 0 inclusive to 1 exclusive.

Synopsis

number = love.math.random( )

Arguments

None.

Returns

number number
The pseudo-random number.

Function

Get a uniformly distributed pseudo-random integer between 1 inclusive to max inclusive.

Synopsis

number = love.math.random( max )

Arguments

number max
The maximum possible value it should return.

Returns

number number
The pseudo-random integer number.

Function

Get uniformly distributed pseudo-random integer between min inclusive to max inclusive.

Synopsis

number = love.math.random( min, max )

Arguments

number min
The minimum possible value it should return.
number max
The maximum possible value it should return.

Returns

number number
The pseudo-random integer number.

Examples

Generates a number between 1 and 100 (both inclusive).

function love.load()
    randomNumber = love.math.random(1, 100)
end

Generate a random permutation of list:

function shuffle (list)
	-- backward iteration from last to second element:
	for i = #list, 2, -1 do
		-- choose one of elements:
		local j = love.math.random(i) -- between 1 to i (both inclusive)
		-- replace both elements each other:
		list[i], list[j] = list[j], list[i]
	end
end

Notes

When using the 2nd and 3rd variant, numbers passed will be rounded, thus, love.math.random(0, 76.767) may return 77

See Also


Other Languages