Vendre une potion
Fait partie de la section Fundamentals du Journey Lua de Coddy — leçon 82 sur 90.
Défi
FacileComplétez votre projet de boutique de potions en implémentant un système de transaction de vente. En vous appuyant sur votre fonctionnalité de recherche, créez un système qui traite la vente d'une potion en réduisant la quantité en stock et en fournissant une confirmation de transaction.
L'entrée suivante sera fournie :
- Une chaîne de caractères contenant le nom de la potion à vendre
Utilisez une boucle for numérique pour parcourir votre table inventory afin de trouver la potion spécifiée. Lorsque vous localisez la potion correspondante à l'aide de l'opérateur d'égalité ==, diminuez sa valeur stock de 1 pour simuler la vente.
Après avoir mis à jour le stock, affichez un message de confirmation indiquant le nom de la potion et son nouveau niveau de stock au format :
Sold 1 [potion name]
Remaining stock: [new stock count]Utilisez la concaténation de chaînes pour combiner le texte descriptif avec le nom de la potion et la quantité de stock mise à jour. Après avoir traité la vente, utilisez l'instruction break pour sortir de la boucle.
Essayez vous-même
-- Inventory table with potion data
inventory = {
{name = "Health Potion", price = 15, stock = 8},
{name = "Mana Potion", price = 12, stock = 5},
{name = "Strength Potion", price = 25, stock = 3},
{name = "Speed Potion", price = 18, stock = 2}
}
-- Read the potion name to search for
search_name = io.read()
-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
if inventory[i].name == search_name then
print("Found: " .. inventory[i].name)
print("Price: " .. inventory[i].price .. " gold")
print("Stock: " .. inventory[i].stock .. " units")
break
end
endToutes les leçons de Fundamentals
4Opérateurs 2 : Relationnels et Logique
Opérateurs d'égalitéOpérateurs relationnelsL'opérateur 'and'L'opérateur 'or'L'opérateur 'not'Évaluation court-circuitValeurs Truthy et FalsyRécapitulatif - Logique simple7Logique conditionnelle de base
L'instruction if-thenL'instruction if-then-elseL'instruction elseifRécapitulatif - Le coffre au trésor10Tables Partie 1 : Style Liste
Qu'est-ce qu'une Table ?Créer une TableAccéder aux éléments par indexModifier des éléments par indexL'opérateur de longueur '#'table.insert()table.remove()Récapitulatif - Gérer les membres du groupe13Projet : Boutique de potions simple
Configuration du projetAjouter une potion2Variables et types de données
Qu'est-ce qu'une variable ?Les nombresLes chaînes de caractèresLes booléensLa valeur 'nil'La fonction type()Conventions de nommageRécapitulatif - Profil de personnage5Affichage de base
Afficher des littérauxAfficher des variablesAfficher plusieurs valeursCombiner des chaînes et des variablesLa fonction tostring()EntréeLe CastRécapitulatif - Rapport d'étatRécapitulatif - Jusqu'à 1208Bases de la manipulation de chaînes
string.len()string.upper et string.lowerstring.sub()string.rep()string.find()Récapitulatif - Formater le nom d'utilisateur3Opérateurs 1 Arithmétique & Conc.
Opérateurs arithmétiquesOpérateur moduloOpérateur d'exponentiationConcaténation de chaînesPriorité des opérateursRécapitulatif - Calculs simples6Projet : Affichage des stats du personnage
Message de bienvenueDéclarer les statistiques du personnage9Bases des fonctions
Déclarer une fonctionAppeler une fonctionFonctions avec paramètresFonctions avec plusieurs paramètresL'instruction 'return'Récapitulatif - Calculateur d'aire