Aller au contenu

Module:Liste de Pokémon

De Poképédia

Le module Liste de Pokémon permet de générer un tableau d'une liste de Pokémon, optimisé pour être utilisable dans un maximum de contextes.

Ce module contient une fonction unique "liste".

Paramètres[modifier]

Légende des icônes
Certains paramètres sont accompagnés d'une ou plusieurs icône indiquant leur(s) caractéristique(s) :
 : Ce paramètre est facultatif, et n'a donc pas besoin d'être systématiquement défini.
 : Ce paramètre classe automatiquement l'article dans une catégorie.
 : Ce paramètre influe sur les données sémantiques présentes en pied de page.
Paramètre Description
1 Liste des Pokémon à afficher dans le tableau, séparés par un retour à la ligne. Des informations additionnelles comme une forme particulières peuvent être spécifié conformément à Ressources/infosPokémon.
jeu oui À indiquer pour afficher les miniature d'un jeu ou d'une paire de jeux en particulier, en utilisant le Modèle:Jeu.
titre oui À indiquer pour changer le titre par défaut du tableau.
type oui À indiquer pour changer la couleur du tableau, lui faisant prendre l'apparence d'un type de Pokémon. Peut également être utilisé pour indiquer d'autres styles de tableau.
miniature oui Indiquer miniature=oui pour n'afficher que les miniatures des différents Pokémon.

exemples[modifier]

{{#invoke:Liste de Pokémon|liste|Créhelf
Bulbizarre
Pichu
Pikachu
Voltorbe forme(Chromatique)}}

donnera :

Pokémon
0480 Créhelf0001 Bulbizarre0172 Pichu0025 Pikachu
0037 Goupix
Forme d'Alola
0849 Salarsen
Forme Aigüe
{{#invoke:Liste de Pokémon|liste|jeu=Go|titre=Exemple de tableau|Créhelf
Bulbizarre
Pichu
Pikachu
Goupix forme(Alola)
Salarsen forme(Aigüe)}}

donnera :

Exemple de tableau
0001 Bulbizarre0172 Pichu0025 Pikachu0037 Goupix
Forme d'Alola
0849 Salarsen
Forme Aigüe
{{#invoke:Liste de Pokémon|liste|miniature=oui|type=feu|Créhelf
Bulbizarre
Pichu
Pikachu
Goupix forme(Alola)
Salarsen forme(Aigüe)}}

donnera :

Pokémon
CréhelfBulbizarrePichuPikachuGoupix (Forme d'Alola)Salarsen (Forme Aigüe)

local p = {}
local ressources = {
	["infosPokemon"] = require("Module:Ressources/infosPokemon")
}

function p.liste(frame)
	local jeu = frame.args["jeu"]
	local pokemon = frame.args[1]
	local modeMiniature = false
	local mode = ""
	if frame.args["miniature"] == "oui"
	then modeMiniature = true
		mode = "miniature"
	end
	local titre = (frame.args["titre"] or "Pokémon")
	local tableauType = (frame.args["type"] or "")
	
	if pokemon ~= nil then pokemon = mw.text.split( pokemon, "\n" ) else pokemon = {} end

	local resultat = {}
	if modeMiniature
	then table.insert(resultat, '<table class="tableaustandard ' .. tableauType .. ' centre"><tr><th colspan="4">'.. titre ..'</th></tr><tr><td>')
	else table.insert(resultat, '<table class="tableaustandard ' .. tableauType .. ' capacité-liste"><tr><th colspan="4">'.. titre ..'</th></tr><tr>')
	end
	local i = 1
	local j = 1
	while pokemon[i] do
		if mw.text.trim( pokemon[i] ) ~= "" then
			if jeu then pokemon[i] = pokemon[i] .. 'jeu(' .. jeu .. ')' end
			if not modeMiniature then table.insert(resultat, '<td style="vertical-align:top; min-width:25%">') end
			table.insert(resultat, ressources.infosPokemon(pokemon[i], mode))
			if not modeMiniature
			then table.insert(resultat, '</td>')
				if j == 4 then
					j = 1
					table.insert(resultat, '</tr><tr>')
				else j = j + 1
				end
			end
		end
		i = i + 1
	end
	if modeMiniature then table.insert(resultat, '</td>') end
	table.insert(resultat, '</tr></table>')
	return table.concat(resultat, '')
end

return p