Module:Video game series reviews/sandbox
Appearance
![]() | This is the module sandbox page for Module:Video game series reviews (diff). |
Main module for {{Video game series reviews}}.
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local p = {}
local function switcher(args, col)
if col == 'mc' then
if yesno(args.mc) ~= false then
return true
end
end
if col == 'gr' then
if yesno(args.gr) ~= false then
return true
end
end
if col == 'sales' then
if yesno(args.sales) == true then
return true
end
end
if col == 'fam' then
if yesno(args.fam) == true then
return true
end
end
end
local function row(args, i)
local ret = ""
ret = ret .. "|-\n"
ret = ret .. "! scope=\"row\" | ''" .. args["game" ..i] .. "'' \n"
if switcher(args, 'sales') then
ret = ret .. "| style=\"text-align: center;\" | " .. (args["sales" ..i] or '') .. " \n"
end
if switcher(args, 'fam') then
ret = ret .. "| style=\"text-align: center;\" | " .. (args["fam" ..i] or '') .. " \n"
end
if switcher(args, 'gr') then
ret = ret .. "| style=\"text-align: center;\" | " .. (args["gr" ..i] or '') .. " \n"
end
if switcher(args, 'mc') then
ret = ret .. "| style=\"text-align: center;\" | " .. (args["mc" ..i] or '') .. " \n"
end
return ret
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local ret = ""
ret = ret .. "{| class=\"wikitable plainrowheaders\" style=\"font-size: 90%; float: right; clear: right; margin:0.5em 0 0.5em 1em;\"\n"
ret = ret .."|+ style=\"font-size: 111.11%;\" | "
if args.title then
ret = ret .. args.title
elseif switcher(args, 'sales') then
if switcher(args, 'fam') then
ret = ret .. "Sales and review scores"
elseif switcher(args, 'gr') or switcher(args, 'mc') then
ret = ret .. "Sales and aggregate review scores"
else
ret = ret .. "Sales"
end
elseif switcher(args, 'fam') then
if switcher(args, 'gr') or switcher(args, 'mc') then
ret = ret .. "Japan and Western review scores"
else
ret = ret .. "Famitsu review scores"
end
else
ret = ret .. "Aggregate review scores"
end
if args.updated then
ret = ret .. "<br /><small>''As of " .. args.updated ..".''</small>"
end
ret = ret .. " \n"
ret = ret .. "! scope=\"col\" | Game \n"
if switcher(args, 'sales') then
ret = ret .. "! scope=\"col\" | " .. (args.sales_title or "Units sold") .. " \n"
end
if switcher(args, 'fam') then
ret = ret .. "! scope=\"col\" | " .. (args.fam_title or "''[[Famitsū scores|Famitsu]]''") .. " \n"
end
if switcher(args, 'gr') then
ret = ret .. "! scope=\"col\" | " .. (args.gr_title or "[[GameRankings]]") .. " \n"
end
if switcher(args, 'mc') then
ret = ret .. "! scope=\"col\" | " .. (args.mc_title or "[[Metacritic]]") .. " \n"
end
for i = 1, 30 do
if args["game" ..i] then
ret = ret .. row(args, i)
end
end
ret = ret .. "|}"
return ret
end
return p