Menu
CoddyTech

Einen Zaubertrank verkaufen

Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 82 von 90.

challenge icon

Aufgabe

Einfach

Vervollständige dein Trankladen-Projekt, indem du ein Verkaufstransaktionssystem implementierst. Baue auf deiner Suchfunktionalität auf und erstelle ein System, das einen Trankverkauf verarbeitet, indem es den Lagerbestand verringert und die Transaktion bestätigt.

Die folgende Eingabe wird bereitgestellt:

  • Eine Zeichenfolge mit dem Namen des zu verkaufenden Tranks

Ersetze die Ausgaben von Found, Price und Stock aus dem vorherigen Schritt durch den Verkauf, sodass nur die beiden unten stehenden Verkaufszeilen ausgegeben werden. Lies den Tranknamen mit einem einzigen io.read() ein: Bei jedem Durchlauf wird eine Eingabezeile bereitgestellt.

Verwende eine numerische for-Schleife, um deine Tabelle inventory zu durchlaufen und den angegebenen Trank zu finden. Wenn du den passenden Trank mithilfe des Gleichheitsoperators == gefunden hast, verringere seinen Wert für stock um 1, um den Verkauf zu simulieren.

Gib nach der Aktualisierung des Lagerbestands eine Bestätigungsnachricht aus, die den Namen des Tranks und seinen neuen Lagerbestand im folgenden Format zeigt:

Sold 1 [potion name]
Remaining stock: [new stock count]

Verwende die Zeichenfolgenverkettung, um den beschreibenden Text mit dem Namen des Tranks und der aktualisierten Lagerbestandsmenge zu kombinieren. Verwende nach der Verarbeitung des Verkaufs die Anweisung break, um die Schleife zu verlassen.

Probier es selbst

-- 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
end

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Lua-Compiler