Menu
CoddyTech

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

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

challenge icon

Задание

Легко

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

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

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

Замените вывод Found, Price и Stock из предыдущего шага обработкой продажи, чтобы выводились только две приведённые ниже строки. Прочитайте название зелья одним вызовом io.read(): при каждом запуске поступает одна строка входных данных.

Используйте числовой цикл 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

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Lua