معالجة الحركات غير الصالحة
جزء من قسم المنطق وتسلسل التنفيذ في رحلة Lua على Coddy. الدرس 30 من 54.
التحدي
سهلأضف معالجة للأخطاء إلى نظام الحركة لتقديم ملاحظات عندما يدخل اللاعب اتجاهًا غير صالح.
المتغيرات 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 هنا
جميع دروس المنطق وتسلسل التنفيذ
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائج5مشروع: محرك مغامرة نصية
إعداد المشروع: الغرفةربط الغرفتدرّب بنفسك: مترجم Lua عبر الإنترنت