←模块:Random欢迎来到Undertale社区维基(*`∀´*)ノ亻,如果想要参与条目创建或编辑,请先登录哦因为以下原因,您没有权限编辑本页: 您请求的操作仅限属于该用户组的用户执行:用户 您可以查看和复制此页面的源代码。 local module = {} local getArgs = require('Module:Arguments').getArgs function _main(args) local upset = 0 function upsetRandomSeed() math.randomseed(tostring(os.time()):reverse():sub(1, 7)..upset..args['upset']) upset = upset + 1 end upsetRandomSeed() local count = tonumber(args['count'] or 1) if count < 1 then count = 1 end local result = {} function testRepetition(val) for i, v in ipairs(result) do if v == val then return true end end return false end function getRandomNumber() local ran, min, max = 0, 0, 1 if args[1] == nil then return math.random(0, 1), 0, 1 elseif args[1] == 'raw' then ran = math.random() else if args[2] then min, max = tonumber(args[1]), tonumber(args[2]) else max = tonumber(args[1]) end if min > max then min, max = max, min end ran = math.random(min, max) end return ran, min, max end repeat local ran, min, max = getRandomNumber() if testRepetition(ran) == false or args['allowrepeat'] then result[#result + 1] = ran end if args[1] ~= 'raw' and #result >= max - min + 1 then for i=#result + 1, count do if args[1] == nil then upsetRandomSeed() end result[i] = math.random(min, max) end end until(#result >= count) return table.concat(result, ',') end function module.main(frame) local args = getArgs(frame) return _main(args) end return module 本页使用的模板: 模板:Ambox(查看源代码)模板:Ambox/style.css(查看源代码)模板:Color block(查看源代码)模板:FromOther(查看源代码)模板:Namespace detect(查看源代码)模板:萌娘百科(查看源代码)模块:Random/doc(查看源代码)返回模块:Random。