Menu
Coddy logo textTech

Продажа зелья

Часть раздела Fundamentals путешествия по Lua на Coddy — урок 82 из 90.

challenge icon

Задание

Легко

Завершите свой проект магазина зелий, реализовав систему торговых транзакций. Опираясь на функциональность поиска, создайте систему, которая обрабатывает продажу зелья, уменьшая количество на складе и предоставляя подтверждение транзакции.

Будут предоставлены следующие входные данные:

  • Строка, содержащая название зелья для продажи

Используйте числовой цикл for для итерации по таблице inventory, чтобы найти указанное зелье. Когда вы найдете подходящее зелье с помощью оператора равенства ==, уменьшите его значение stock на 1, чтобы имитировать продажу.

После обновления запасов выведите подтверждающее сообщение, показывающее название зелья и его новый уровень запасов в формате:

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

Используйте конкатенацию строк, чтобы объединить описательный текст с названием зелья и обновленным количеством на складе. После обработки продажи используйте оператор break для выхода из цикла.

Попробуйте сами

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

Все уроки раздела Fundamentals