Menu
CoddyTech

معالجة الحركات غير الصالحة

جزء من قسم المنطق وتسلسل التنفيذ في رحلة Lua على Coddy. الدرس 30 من 54.

challenge icon

التحدي

سهل

أضف معالجة للأخطاء إلى نظام الحركة لتقديم ملاحظات عندما يدخل اللاعب اتجاهًا غير صالح.

المتغيرات startingRoom وgardenRoom وplayer متوفرة لديك من التحدي السابق.

عدّل حلقة اللعبة للتعامل مع أوامر الحركة غير الصالحة:

  • استبدل مخارج الشرق/الغرب في التحدي السابق بمخارج الشمال/الجنوب: عيّن startingRoom.exits["north"] إلى gardenRoom، وgardenRoom.exits["south"] إلى startingRoom
  • اطبع وصف الغرفة الحالية للاعب
  • اطبع المحث "> " (علامة أكبر من متبوعة بمسافة) دون سطر جديد
  • اقرأ أمر المستخدم باستخدام io.read()
  • تحقق مما إذا كان الأمر يطابق مفتاحًا في جدول exits للغرفة الحالية
  • إذا تطابق، حدّث player.currentRoom إلى الغرفة المخزنة في ذلك المخرج
  • إذا لم يطابق الأمر أي مخرج ولم يكن "quit"، فاطبع "You can't go that way."
  • إذا كان الأمر "quit"، فعيّن gameRunning إلى false للخروج من الحلقة

يجب أن تستمر الحلقة حتى يكتب المستخدم "quit".

تنسيق الإخراج المتوقع:

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.
> 

جرّب بنفسك

-- تعريفات الغرف
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: اربط الغرف بمخارج شمالية وجنوبية

-- اللاعب
local player = {
    currentRoom = startingRoom
}

-- حلقة اللعبة
local gameRunning = true

-- TODO: اكتب حلقة while هنا

جميع دروس المنطق وتسلسل التنفيذ

تدرّب بنفسك: مترجم Lua عبر الإنترنت