Menu
Coddy logo textTech

Sprzedaż eliksiru

Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 82 z 90.

challenge icon

Wyzwanie

Łatwy

Dokończ projekt swojego sklepu z miksturami, wdrażając system transakcji sprzedaży. Rozbuduj funkcjonalność wyszukiwania i utwórz system, który obsługuje sprzedaż mikstury przez zmniejszenie stanu zapasów i wyświetlenie potwierdzenia transakcji.

Zostaną podane następujące dane wejściowe:

  • Ciąg znaków zawierający nazwę mikstury do sprzedania

Użyj numerycznej pętli for, aby przejść przez tabelę inventory i znaleźć wskazaną miksturę. Gdy znajdziesz pasującą miksturę za pomocą operatora równości ==, zmniejsz jej wartość stock o 1, aby zasymulować sprzedaż.

Po zaktualizowaniu stanu zapasów wyświetl potwierdzenie zawierające nazwę mikstury i jej nowy stan w formacie:

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

Użyj konkatenacji ciągów znaków, aby połączyć opisowy tekst z nazwą mikstury i zaktualizowaną liczbą sztuk w magazynie. Po obsłużeniu sprzedaży użyj instrukcji break, aby zakończyć pętlę.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Lua online