Menu
CoddyTech

Geçersiz Hamleleri Ele Alma

Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 30 / 54.

challenge icon

Görev

Kolay

Oyuncu geçersiz bir yön girdiğinde geri bildirim sağlamak için hareket sistemine hata işleme ekleyin.

Önceki mücadeleden startingRoom, gardenRoom ve player değişkenleri size verilmiştir.

Geçersiz hareket komutlarını işleyecek şekilde oyun döngüsünü değiştirin:

  • Önceki mücadelenin doğu/batı çıkışlarını kuzey/güney çıkışlarıyla değiştirin: startingRoom.exits["north"] değerini gardenRoom olarak, gardenRoom.exits["south"] değerini ise startingRoom olarak ayarlayın
  • Oyuncunun bulunduğu odanın açıklamasını yazdırın
  • Yeni satır eklemeden "> " istemini (büyüktür işareti ve ardından bir boşluk) yazdırın
  • Kullanıcının komutunu io.read() kullanarak okuyun
  • Komutun mevcut odanın exits tablosundaki bir anahtarla eşleşip eşleşmediğini kontrol edin
  • Eşleşirse player.currentRoom değerini bu çıkışta saklanan odayla güncelleyin
  • Komut herhangi bir çıkışla eşleşmiyorsa ve "quit" değilse "You can't go that way." yazdırın
  • Komut "quit" ise döngüden çıkmak için gameRunning değerini false olarak ayarlayın

Döngü, kullanıcı "quit" yazana kadar devam etmelidir.

Beklenen Çıktı Biçimi:

You find yourself in a dusty library filled with ancient books and scrolls.
> A hidden garden with overgrown plants and a small fountain.
> You can't go that way.
A hidden garden with overgrown plants and a small fountain.
> You find yourself in a dusty library filled with ancient books and scrolls.
> 

Kendin dene

-- Oda tanımları
local startingRoom = {
    description = "You find yourself in a dusty library filled with ancient books and scrolls.",
    exits = {}
}

local gardenRoom = {
    description = "A hidden garden with overgrown plants and a small fountain.",
    exits = {}
}

-- TODO: Odaları kuzey/güney çıkışlarıyla birbirine bağla

-- Oyuncu
local player = {
    currentRoom = startingRoom
}

-- Oyun döngüsü
local gameRunning = true

-- TODO: while döngüsünü buraya yaz

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi