معالجة مدخلات المستخدم
جزء من قسم المنطق والتحكم في التدفق في رحلة Lua على Coddy. الدرس 28 من 54.
التحدي
سهلوسّع حلقة اللعبة لقراءة أوامر المستخدم وعرضها باستخدام io.read().
تم تزويدك بالمتغيرات startingRoom وgardenRoom وplayer من التحدي السابق.
عدّل حلقة اللعبة من أجل:
- طباعة وصف الغرفة الحالية للاعب
- طباعة موجّه الأوامر
"> "(علامة أكبر من متبوعة بمسافة) من دون سطر جديد: استخدمio.write()بدلًا منprint()، لأنio.write()تُخرج النص من دون إضافة سطر جديد في النهاية - قراءة أمر المستخدم باستخدام
io.read() - طباعة
"You entered: "متبوعة بالأمر الذي كتبه المستخدم - التحقق مما إذا كان الأمر هو
"quit"- وإذا كان كذلك، اضبطgameRunningعلىfalseللخروج من الحلقة
ينبغي أن تستمر الحلقة حتى يكتب المستخدم "quit".
تنسيق الناتج المتوقع:
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: quitجرّب بنفسك
-- 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
endجميع دروس المنطق والتحكم في التدفق
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائج5مشروع: محرك مغامرة نصية
إعداد المشروع: الغرفةربط الغرفتدرّب بنفسك: مترجم Lua عبر الإنترنت