Module:Random

来自Minecraft基岩版开发Wiki

此模块用于生成伪随机数。其用法与math.random相同,但是这个模块会先生成一个种子,以保证生成的数字是确实随机的。

local p = {}
local seeded
local randomseed = math.randomseed
local random = math.random

function p.random( m, n )
	if not seeded then
		p.seed()
	end
	
	return random( n and m or m and 1 or 0, n or m or 1 )
end

function p.seed( seed )
	randomseed( seed or ( os.time() + os.clock() * 1000000000 ) )
	
	-- First few values of seed is not guaranteed to be random on some platforms
	random()
	random()
	
	seeded = true
end

return p