Module:Random: Difference between revisions

From ProleWiki, the proletarian encyclopedia
m (Second method to prevent errors)
Tag: Reverted
m (Trying to improve pseudo-randomness)
Tag: Reverted
Line 11: Line 11:
local m = Date:match("%d+:(%d+):%d+")
local m = Date:match("%d+:(%d+):%d+")
local s = Date:match("%d+:%d+:(%d+)")
local s = Date:match("%d+:%d+:(%d+)")
local rnd = s * s * math.random(1,10000)
local rnd = math.random(1,10000) * h * m * s
while (rnd > b) do
while (rnd > b) do
Line 17: Line 17:
end
end
while (rnd < a) do
while (rnd < a) do
rnd = rnd + 1
rnd = math.floor(rnd*1.5)
rnd = math.floor(rnd*1.5)
end
end

Revision as of 23:59, 5 October 2022

local p = {}

function p.random(frame)
	local parent = frame:getParent()
	
	local a = tonumber(parent.args[1]) or 1
	local b = tonumber(parent.args[2]) or 100
	
	local Date = os.date()
	local h = Date:match("(%d+):%d+:%d+")
	local m = Date:match("%d+:(%d+):%d+")
	local s = Date:match("%d+:%d+:(%d+)")
	local rnd = math.random(1,10000) * h * m * s
	
	while (rnd > b) do
		rnd = math.floor(rnd/b)
	end
	while (rnd < a) do
		rnd = math.floor(rnd*1.5)
	end
	return rnd
end
return p