الفصل 62 — مشغّل اللعبة (جسر نحو الجزء الثاني)
الجزء 1C — ثمانية مشاريع مصغّرة · الفصل 62 من 62 · 20 ساعة
الفصل 62 — مشغّل اللعبة (جسر نحو الجزء الثاني)
المستوى: متوسط / متقدم المدة المقدّرة: 20 ساعة المتطلبات المسبقة: الجزء 1A (الفصول من 01 إلى 18)، والجزء 1B (الفصول من 43 إلى 54)، والمشاريع من 55 إلى 61 ما ستتمكن من فعله في النهاية: بناء «الميتا-لعبة» كاملةً التي تحيط بأي لعبة فيديو — قائمة متحركة، إنشاء الشخصية، بطاقة الشخصية، المخزون، التجهيز، المتجر، لوحة الترتيب، الخيارات، وخانات الحفظ المتعددة — داخل تطبيق Flutter عادي، جاهز لاستقبال محرّك لعبة.
62.0 — أهداف الفصل
في نهاية هذا الفصل ستكون قادرًا على:
- التمييز بين حلقة اللعبة (boucle de jeu) والميتا-لعبة (méta-jeu)، وفهم سبب استحواذ الثانية على معظم شيفرة أي لعبة تجارية؛
- بناء قائمة رئيسية متحركة من سبعة عناصر، اثنان منها مشروطان؛
- نمذجة شخصية وعنصر وحفظ باستخدام
fromJson/toJson(تذكير بالفصل 17)؛ - كتابة شاشة كاملة لإنشاء الشخصية: اسم يخضع للتحقق، اختيار الفئة، توزيع النقاط (تذكير بالفصل 49)؛
- عرض بطاقة شخصية مع أشرطة إحصاءات نسبية (تذكير بالفصل 55)؛
- عرض مخزون في
GridViewمع تصفية حسب النوع وفرز متعدد المعايير (تذكير بالفصلين 48 و14)؛ - تجهيز العناصر وإعادة حساب الإحصاءات المشتقة دون تكرار البيانات أبدًا؛
- بناء متجر يدعم الشراء وإعادة البيع وإدارة عملة (تذكير بالفصل 60)؛
- عرض ترتيب محلي ثم دمجه مع ترتيب بعيد (تذكير بالفصل 53)؛
- كتابة شاشة خيارات: مستويات الصوت، الصعوبة، السمة، وإعادة تخصيص المفاتيح؛
- حفظ لعبة كاملة في سلسلة JSON واحدة (تذكير بالفصل 54)؛
- إدارة عدة خانات حفظ مستقلة؛
- اكتشاف ملف حفظ تالف وإصلاحه دون أن يتعطل التطبيق (تذكير بالفصل 13)؛
- مركزة حالة التطبيق في عدة
ChangeNotifierتُعرَض عبرprovider(تذكير بالفصل 52)؛ - كتابة انتقالات شاشات مخصّصة باستخدام
PageRouteBuilder(تذكير بالفصل 50)؛ - بناء شاشة تحميل تُحضّر فعلًا شيئًا ما؛
- رسم منطقة لعب وهمية باستخدام
CustomPaint، في الموضع نفسه الذي سيشغلهGameWidgetمستقبلًا؛ - قراءة جدول مطابقة، شاشةً بشاشة، بين هذا المشروع ولعبة Flame في الفصل 35؛
- اختبار منطق الشخصية والمخزون دون تشغيل أي واجهة.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش