Lua Défi final
L'inventaire du joueur
Tables, fonctions et boucles pour gérer l'inventaire d'un personnage de jeu.
Dans presque tous les jeux, l'inventaire est une table. Ce défi réunit les tables avec des clés, les fonctions locales et la boucle pairs.
Le défi
- crée une table locale
inventairevide ; - écris une fonction locale
ajouter(objet, quantite)qui ajoute la quantité à l'objet, en partant de 0 s'il n'existe pas encore (indice :(inventaire[objet] or 0)) ; - appelle-la au moins 3 fois, dont deux fois pour le même objet ;
- avec
pairs, affiche chaque objet et sa quantité.
main.lua
- inventaire est une table locale vide
- La fonction locale ajouter(objet, quantite) est déclarée
- Elle part de 0 si l'objet n'existe pas
- ajouter est appelée au moins 3 fois
- Une boucle pairs parcourt l'inventaire
- Chaque objet est affiché
Bravo, toutes les consignes sont réussies !
Bloqué ? Voir une solution
local inventaire = {}
local function ajouter(objet, quantite)
inventaire[objet] = (inventaire[objet] or 0) + quantite
end
ajouter("pomme", 3)
ajouter("épée", 1)
ajouter("pomme", 2)
for objet, quantite in pairs(inventaire) do
print(objet .. " x" .. quantite)
end Défi réussi !
Ton badge Lua passe en or dès que toutes les leçons du cours sont terminées. Retrouve tes badges sur la page d'accueil.