Menu
Coddy logo textTech

İksir Satma

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

challenge icon

Görev

Kolay

İksir dükkanı projenizi bir satış işlemi sistemi uygulayarak tamamlayın. Arama işlevselliğinizin ü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 metin (string)

Belirtilen iksiri bulmak için inventory tablonuzda döngü oluşturmak amacıyla 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 gösteren bir onay mesajını şu biçimde 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 metin birleştirmeyi (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

Temeller bölümündeki tüm dersler