Kullanıcı Girdisini İşleme
Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 28 / 54.
Görev
KolayKullanıcı komutlarını io.read() kullanarak okumak ve görüntülemek için oyun döngüsünü (game loop) genişletin.
Önceki görevden startingRoom, gardenRoom ve player değişkenleri size sağlanmıştır.
Oyun döngüsünü şu şekilde değiştirin:
- Oyuncunun bulunduğu odanın açıklamasını yazdırın (
description) - Araya yeni satır eklemeden
"> "istemini (büyüktür işareti ve ardından bir boşluk) yazdırın —print()yerineio.write()kullanın, çünküio.write()metni sonuna yeni satır eklemeden yazdırır io.read()kullanarak kullanıcının komutunu okuyun"You entered: "metnini ve ardından kullanıcının yazdığı komutu yazdırın- Komutun
"quit"olup olmadığını kontrol edin - eğer öyleyse, döngüden çıkmak içingameRunningdeğerinifalseyapın
Döngü, kullanıcı "quit" yazana kadar devam etmelidir.
Beklenen Çıktı Formatı:
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: look
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: east
You find yourself in a dusty library filled with ancient books and scrolls.
>
You entered: quitKendin dene
-- Room definitions
local startingRoom = {
description = "You find yourself in a dusty library filled with ancient books and scrolls."
}
local gardenRoom = {
description = "You are in a beautiful garden with blooming flowers and a fountain."
}
-- Player definition
local player = {
currentRoom = startingRoom
}
-- Create game loop
local gameRunning = true
while gameRunning do
print(player.currentRoom.description)
gameRunning = false
endMantık ve Akış bölümündeki tüm dersler
1İleri Düzey Tablo Yineleme
pairs() ile Yinelemeipairs() ile Yinelemepairs() vs. ipairs()Özet - Karakter Sayfası2Daha Fazla Tablo Kütüphanesi Fonksiyonu
table.concat()Tablo Oluşturma ve unpack()table.sort()Fonksiyonlar ile Özel SıralamaÖzet - Yüksek Skor Tablosu5Proje: Metin Tabanlı Macera Motoru
Proje Kurulumu: OdaOdaları Bağlama