Differenze tra le versioni di "Modulo:Sup"

3 549 byte rimossi ,  01:51, 6 ago 2013
nessun oggetto della modifica
(Creata pagina con "-- Collegamenti in apice ai giochi tramite le loro sigle local m = {} local c = mw.loadData('Modulo:Colore/data') local w = require('Modulo:Wikilib') local x = {} --La funzi...")
 
-- Collegamenti in apice ai giochi tramite le loro sigle
 
-- c contiene la tabella dei colori,
local m = {}
-- w la libreria wikilib
-- m la tabella delle sigle
 
local c = mw.loadData('Modulo:Colore/data')
local w = require('Modulo:Wikilib')
local m = mw.loadData('Modulo:Sigle')
local x = {}
 
-- Rende le sigle della tabella apici. Chiamata da tutte le sigle
--La funzione che fa il lavoro sporco. Gli argomenti sono:
 
local links = function(text)
--links: una table con i link alle pagine dei giochi
return w.interp('<b><sup>${text}</sup></b>', {text = text})
--sigle: una table di tables in cui ogni table è la sigla di un gioco
--colori. una table di table, in cui ogni table è il colore di un gioco
 
--La funzione associa all'elemento x della table links una combinazione opportuna degli elementi della
--x-esima riga delle tables sigle e colori e alla fine concatena il tutto.
--In termini comprensibili, associa ad ogni link la sigla dei giochi della pagina, con ogni lettera
--colorata con i colori del suo gioco
--Es: associa alla pagina "Pokémon Rubino e Zaffiro" le sigle "R", "Z" o "RZ" a seconda dei casi,
--con ogni lettera colorata con il colore del gioco che rappresenta
 
local function _sigla(links, sigle, colori)
local str1, str = '', ''
for a in ipairs(links) do
str = ''
for b in ipairs(colori[a]) do
str = w.interp('${str}<span style="color:#${colore};">${sigla}</span>',
{
str = str,
colore = c[colori[a][b]]{args={'normale'}},
sigla = sigle[a][b],
})
end
str1 = w.interp('${str1}[[Pokémon ${link}|${str}]]', {str = str, link = links[a], str1 = str1})
end
return str1
end
 
-- Le varie sigle
--Implementazione delle varianti. Ogni oggetto associa ad ogni sigla la chiamata opportuna alla funzione _sigle e la ritorna
--Inoltre indica quale sarà il tipo di output con la variabile style, passata dal chiamante
 
x.R = function(frame) return links(m.R) end
x.R = _sigla({'Rosso e Blu'}, {{'R'}}, {{'rosso'}})
x.B = function(frame) return links(m.B) end
x.B = _sigla({'Rosso e Blu'}, {{'B'}}, {{'blu'}})
x.G = function(frame) return links(m.G) end
x.G = _sigla({'Giallo'}, {{'G'}}, {{'giallo'}})
x.RB = function(frame) return links(m.RB) end
x.RB = _sigla({'Rosso e Blu'}, {{'R', 'B'}}, {{'rosso', 'blu'}})
x.RBG = function(frame) return links(m.RBG) end
x.RBG = _sigla({'Rosso e Blu', 'Giallo'}, {{'R', 'B'}, {'G'}}, {{'rosso', 'blu'}, {'giallo'}})
x.O = function(frame) return links(m.O) end
x.O = _sigla({'Oro e Argento'}, {{'O'}}, {{'oro'}})
x.A = function(frame) return links(m.A) end
x.A = _sigla({'Oro e Argento'}, {{'A'}}, {{'argento'}})
x.C = function(frame) return links(m.C) end
x.C = _sigla({'Cristallo'}, {{'C'}}, {{'cristallo'}})
x.OA = function(frame) return links(m.OA) end
x.OA = _sigla({'Oro e Argento'}, {{'O', 'A'}}, {{'oro', 'argento'}})
x.OAC = function(frame) return links(m.OAC) end
x.OAC = _sigla({'Oro e Argento', 'Cristallo'}, {{'O', 'A'}, {'C'}}, {{'oro', 'argento'}, {'cristallo'}})
x.Ru = function(frame) return links(m.Ru) end
x.Ru = _sigla({'Rubino e Zaffiro'}, {{'R'}}, {{'rubino'}})
x.Z = function(frame) return links(m.Z) end
x.Z = _sigla({'Rubino e Zaffiro'}, {{'Z'}}, {{'zaffiro'}})
x.ZAZa = x.Z
x.S = function(frame) return links(m.S) end
x.S = _sigla({'Smeraldo'}, {{'S'}}, {{'smeraldo'}})
x.SMSm = x.S
x.RZ = function(frame) return links(m.RZ) end
x.RZ = _sigla({'Rubino e Zaffiro'}, {{'R', 'Z'}}, {{'rubino', 'zaffiro'}})
x.RUZARuZa = x.RZ
x.RZS = function(frame) return links(m.RZS) end
x.RZS = _sigla({'Rubino e Zaffiro', 'Smeraldo'}, {{'R', 'Z'}, {'S'}}, {{'rubino', 'zaffiro'}, {'smeraldo'}})
x.RUZASMRuZaSm = x.RZS
x.RF = function(frame) return links(m.RF) end
x.RF = _sigla({'Rosso Fuoco e Verde Foglia'}, {{'RF'}}, {{'rossofuoco'}})
x.VF = function(frame) return links(m.VF) end
x.VF = _sigla({'Rosso Fuoco e Verde Foglia'}, {{'VF'}}, {{'verdefoglia'}})
x.RFVF = function(frame) return links(m.RFVF) end
x.RFVF = _sigla({'Rosso Fuoco e Verde Foglia'}, {{'RF', 'VF'}}, {{'rossofuoco', 'verdefoglia'}})
x.RZSRFVF = function(frame) return links(m.RZSRFVF) end
x.RZSRFVF = _sigla({'Rubino e Zaffiro'}, {'Smeraldo'}, {'Rosso Fuoco e Verde Foglia'},
x.RuZaSmRFVF = x.RZSRFVF
{{'R', 'Z'}, {'S'}, {'RF', 'VF'}}, {{'rubino', 'zaffiro'}, {'smeraldo'}, {'rossofuoco', 'verdefoglia'}})
x.SRFVF = function(frame) return links(m.SRFVF) end
x.RUZASMRFVF = x.RZSRFVF
x.SmRFVF = x.SRFVF
x.SRFVF = _sigla({'Smeraldo', 'Rosso Fuoco e Verde Foglia'}, {{'S'}, {'RF', 'VF'}},
x.D = function(frame) return links(m.D) end
{{'smeraldo'}, {'rossofuoco', 'verdefoglia'}})
x.P = function(frame) return links(m.P) end
x.SMRFVF = x.SRFVF
x.Pt = function(frame) return links(m.Pt) end
x.D = _sigla({'Diamante e Perla'}, {{'D'}}, {{'diamante'}})
x.DP = function(frame) return links(m.DP) end
x.P = _sigla({'Diamante e Perla'}, {{'P'}}, {{'perla'}})
x.DPPt = function(frame) return links(m.DPPt) end
x.PT = _sigla({'Platino'}, {{'Pt'}}, {{'platino'}})
x.DPP = x.DPPt
x.DP = _sigla({'Diamante e Perla'}, {{'D', 'P'}}, {{'diamante', 'perla'}})
x.HG = function(frame) return links(m.HG) end
x.DPPT = _sigla({'Diamante e Perla', 'Platino'}, {{'D', 'P'}, {'Pt'}}, {{'diamante', 'perla'}, {'platino'}})
x.SS = function(frame) return links(m.SS) end
x.DPP = x.DPPT
x.HGSS = function(frame) return links(m.HGSS) end
x.HG = _sigla({'Oro HeartGold e Argento SoulSilver'}, {{'HG'}}, {{'heartgold'}})
x.DPPtHGSS = function(frame) return links(m.DPPtHGSS) end
x.SS = _sigla({'Oro HeartGold e Argento SoulSilver'}, {{'SS'}}, {{'soulsilver'}})
x.DPPHGSS = x.DPPtHGSS
x.HGSS = _sigla({'Oro HeartGold e Argento SoulSilver'}, {{'HG', 'SS'}}, {{'heartgold', 'soulsilver'}})
x.PtHGSS = function(frame) return links(m.PtHGSS) end
x.DPPTHGSS = _sigla({'Diamante e Perla'}, {'Platino'}, {'Oro HeartGold e Argento SoulSilver'},
x.PHGSS = x.PtHGSS
{{'D', 'P'}, {'Pt'}, {'HG', 'SS'}}, {{'diamante', 'perla'}, {'platino'}, {'heartgold', 'soulsilver'}})
x.N = function(frame) return links(m.N) end
x.DPPHGSS = x.DPPTHGSS
x.Bi = function(frame) return links(m.Bi) end
x.PTHGSS = _sigla({'Platino', 'Oro HeartGold e Argento SoulSilver'}, {{'Pt'}, {'HG', 'SS'}},
x.NB = function(frame) return links(m.NB) end
{{'platino'}, {'heartgold', 'soulsilver'}})
x.PHGSSNeBi = x.PTHGSSNB
x.N2 = function(frame) return links(m.N2) end
x.N = _sigla({'Nero e Bianco'}, {{'N'}}, {{'nero'}})
x.B2 = function(frame) return links(m.B2) end
x.BI = _sigla({'Nero e Bianco'}, {{'B'}}, {{'bianco'}})
x.N2B2 = function(frame) return links(m.N2B2) end
x.NB = _sigla({'Nero e Bianco'}, {{'N', 'B'}}, {{'nero', 'bianco'}})
x.NN2 = function(frame) return links(m.NN2) end
x.NEBI = x.NB
x.BB2 = function(frame) return links(m.BB2) end
x.N2 = _sigla({'Nero 2 e Bianco 2'}, {{'N2'}}, {{'nero_2'}})
x.COLO = function(frame) return links(m.COLO) end
x.B2 = _sigla({'Nero 2 e Bianco 2'}, {{'B2'}}, {{'bianco_2'}})
x.XD = function(frame) return links(m.XD) end
x.N2B2 = _sigla({'Nero 2 e Bianco 2'}, {{'N2', 'B2'}}, {{'nero_2', 'bianco_2'}})
x.PBR = function(frame) return links(m.PBR) end
x.NN2 = _sigla({'Nero e Bianco', 'Nero 2 e Bianco 2'}, {{'N'}, {'N2'}}, {{'nero'}, {'nero_2'}})
x.PMDR = function(frame) return links(m.PMDR) end
x.BB2 = _sigla({'Nero e Bianco', 'Nero 2 e Bianco 2'}, {{'B'}, {'B2'}}, {{'bianco'}, {'bianco_2'}})
x.PMDB = function(frame) return links(m.PMDB) end
x.COLO = _sigla({'Colosseum'}, {{'Colo.'}}, {{'colo'}})
x.PMDRB = function(frame) return links(m.PMDRB) end
x.XD = _sigla({'XD: Tempesta Oscura'}, {{'XD'}}, {{'XD'}})
x.PMDT = function(frame) return links(m.PMDT) end
x.PBR = _sigla({'Battle Revolution'}, {{'BR'}}, {{'battle_revolution'}})
x.Time, x.Tempo = x.PMDT, x.PMDT
x.PMDR = _sigla({'Mystery Dungeon: Squadra Rossa e Squadra Blu'}, {{'R'}}, {{'md_rosso'}})
x.PMDO = function(frame) return links(m.PMDO) end
x.PMDB = _sigla({'Mystery Dungeon: Squadra Rossa e Squadra Blu'}, {{'B'}}, {{'md_blu'}})
x.PMDD, x['Oscurità'], x.Oscurita, x.Darkenss = x.PMDO, x.PMDO, x.PMDO, x.PMDO
x.PMDRB = _sigla({'Mystery Dungeon: Squadra Rossa e Squadra Blu'}, {{'R', 'B'}}, {{'md_rosso', 'md_blu'}})
x.PMDTO = function(frame) return links(m.PMDTO) end
x.PMDT = _sigla({"Mystery Dungeon: Esploratori del Tempo ed Esploratori dell'Oscurità"},
{{'T'}}, {{'md_tempo'}})
x.TIME, x.TEMPO = x.PMDT, x.PMDT
x.PMDO = _sigla({"Mystery Dungeon: Esploratori del Tempo ed Esploratori dell'Oscurità"},
{{'O'}}, {{'md_oscurita'}})
x.PMDD, x.OSCURITA, x.DARKNESS = x.PMDO, x.PMDO, x.PMDO
x.PMDTO = _sigla({"Mystery Dungeon: Esploratori del Tempo ed Esploratori dell'Oscurità"},
{{'T', 'O'}}, {{'md_tempo', 'md_oscurita'}})
x.PMDTD = x.PMDTO
x.PMDC = function(frame) return links(m.PMDC) end
x.PMDC = _sigla({'Mystery Dungeon: Esploratori del Cielo'}, {{'C'}}, {{'md_cielo'}})
x.PMDS, x.SKYSky, x.CIELOCielo = x.PMDC, x.PMDC, x.PMDC
x.PMDTOC = function(frame) return links(m.PMDTOC) end
x.PMDTOC = _sigla({"Mystery Dungeon: Esploratori del Tempo ed Esploratori dell'Oscurità",
'Mystery Dungeon: Esploratori del Cielo'}, {{'T', 'O'}, {'C'}}, {{'md_tempo', 'md_oscurita'}, {'md_cielo'}})
x.PMDTDS = x.PMDTOC
 
return x
--La funzione sup. Controlla prima che il parametro sia consistente e poi chiama gli oggetti d'implementazione, passando loro
--il gioco, concatenando poi la stringa di ritorno con dei tag
 
m.sup = function(frame)
local gioco = w.trim(string.upper(frame.args[1] or ''))
if gioco == '' then
return 'Errore'
else
return w.interp('<b><sup>${text}</sup></b>', {text = x[gioco]})
end
end
 
m.Sup = m.sup
 
return m