الدرس 1 من 10
نظام الأحداث
- 14 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
on و emit
الشرح
سكربتات الألعاب لا تنادي بعضها مباشرة؛ تتواصل بـالأحداث. لاعب دخل، أو صحّة نفدت، أو عنصر التُقط — كل ذلك حدث يُطلَق، ومن يهمّه يستمع. هكذا تعمل AddEventHandler وTriggerEvent في FiveM، و:Connect و:Fire في Roblox.
والتنفيذ جدول واحد: المفتاح اسم الحدث، والقيمة قائمة الدوال المستمعة. on يضيف دالة إلى القائمة، وemit يمرّ عليها ويناديها بالوسائط.
و... في Lua تعني «كل ما وصل من وسائط». تمرّرها كما هي: handler(...).
المطلوب
اكتب on(name, handler) وemit(name, ...): عدّة مستمعين للحدث الواحد يُنادَون بالترتيب، والحدث بلا مستمعين لا يرمي خطأ.
معايير التصحيح
6 معايير- on و emit دالتان
- المستمع يُنادى بالوسيط
- عدّة مستمعين يُنادَون بالترتيب
- الوسائط المتعدّدة تمرّ كلها
- حدث بلا مستمعين لا يرمي خطأ
- المثال طبع الترحيب