Menu
CoddyTech

İksir Satma

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

challenge icon

Görev

Kolay

Satış işlemi sistemi uygulayarak iksir dükkânı projenizi tamamlayın. Arama işlevselliğiniz üzerine kurarak, stok miktarını azaltan ve işlem onayı sağlayan bir iksir satış sistemi oluşturun.

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

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

Önceki adımdaki Found, Price ve Stock çıktılarını satış işlemiyle değiştirin; böylece aşağıdaki iki satış satırı dışında hiçbir şey yazdırılmaz. İksir adını tek bir io.read() ile okuyun: her çalıştırmada bir satır girdi sağlanır.

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

Stoku güncelledikten sonra, iksir adını ve yeni stok seviyesini aşağıdaki biçimde 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ştirmeyi kullanın. Satış işlemini gerçekleştirdikten 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

Kendi başına pratik yap: Online Lua derleyicisi