İksir Satma
Coddy'nin Lua Journey'sinin Temeller bölümünün bir parçası. Ders 82 / 90.
Görev
KolaySatış 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
endTemeller bölümündeki tüm dersler
4Operatörler 2 İlişkisel ve Mantıksal
Eşitlik Operatörleriİlişkisel Operatörler'and' Operatörü'or' Operatörü'not' OperatörüKısa Devre DeğerlendirmesiTruthy ve Falsy DeğerlerÖzet - Basit Mantık10Tablolar Bölüm 1: Liste Stili
Tablo Nedir?Tablo Oluşturmaİndeks ile Elemanlara Erişmeİndeks ile Elemanları DeğiştirmeUzunluk Operatörü '#'table.insert()table.remove()Özet - Parti Üyelerini Yönetme13Proje: Basit İksir Dükkanı
Proje Kurulumuİksir Ekleme2Değişkenler ve Veri Tipleri
Değişken Nedir?SayılarStringlerBooleanlar'nil' Değeritype() Fonksiyonuİsimlendirme KurallarıÖzet - Karakter Profili5Temel Çıktı
Sabitleri YazdırmaDeğişkenleri YazdırmaBirden Fazla Değer YazdırmaMetinleri ve Değişkenleri Birleştirmetostring() FonksiyonuGirdiTip DönüşümüÖzet - Durum RaporuÖzet - 120'ye Kadar8String Manipülasyonu Temelleri
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Özet - Kullanıcı Adı Biçimlendirme3Operatörler 1 Aritmetik ve Birleştirme
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüString BirleştirmeOperatör ÖnceliğiÖzet - Basit Hesaplamalar6Proje: Karakter İstatistiklerini Görüntüleme
Hoş Geldiniz MesajıKarakter İstatistiklerini Tanımlama9Fonksiyon Temelleri
Fonksiyon TanımlamaFonksiyon ÇağırmaParametreli FonksiyonlarÇoklu Parametreli Fonksiyonlar'return' İfadesiÖzet - Alan HesaplayıcıKendi başına pratik yap: Online Lua derleyicisi