Menu
Coddy logo textTech

İksir Satma

Coddy'nin Lua Journey'sinin Fundamentals bölümünün bir parçası — ders 82 / 90.

challenge icon

Görev

Kolay

Bir satış işlem sistemi uygulayarak iksir dükkanı projenizi tamamlayın. Arama işlevinizin üzerine inşa ederek, stok miktarını azaltarak ve işlem onayı sağlayarak bir iksir satışını işleyen bir sistem oluşturun.

Aşağıdaki girdi sağlanacaktır:

  • Satılacak iksirin adını içeren bir dize (string)

Belirtilen iksiri bulmak için inventory tablonuzda gezinmek üzere sayısal bir for döngüsü kullanın. Eşitlik operatörünü == kullanarak eşleşen iksiri bulduğunuzda, satışı simüle etmek için stock değerini 1 azaltın.

Stoğu güncelledikten sonra, iksir adını ve yeni stok seviyesini şu formatta gösteren bir onay mesajı yazdırın:

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

Açıklayıcı metni iksirin adı ve güncellenmiş stok miktarıyla birleştirmek için dize birleştirme (string concatenation) kullanın. Satışı işledikten sonra, döngüden çıkmak için break ifadesini kullanın.

Kendin dene

-- 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 bölümündeki tüm dersler