# بناء لعبة فضاء لعبة فضاء لتعلم أساسيات JavaScript المتقدمة في هذا الدرس، ستتعلم كيفية بناء لعبتك الفضائية الخاصة. إذا كنت قد لعبت لعبة "Space Invaders" من قبل، فإن هذه اللعبة تعتمد على نفس الفكرة: قيادة مركبة فضائية وإطلاق النار على الوحوش التي تنزل من الأعلى. إليك كيف ستبدو اللعبة النهائية: ![اللعبة النهائية](../../../6-space-game/images/pewpew.gif) في هذه الدروس الستة، ستتعلم ما يلي: - **التفاعل** مع عنصر Canvas لرسم الأشياء على الشاشة - **فهم** نظام الإحداثيات الكارتيزي - **تعلم** نمط Pub-Sub لإنشاء بنية لعبة قوية وسهلة الصيانة والتطوير - **الاستفادة** من Async/Await لتحميل موارد اللعبة - **التعامل** مع أحداث لوحة المفاتيح ## نظرة عامة - النظرية - [مقدمة لبناء الألعاب باستخدام JavaScript](1-introduction/README.md) - التطبيق - [الرسم على Canvas](2-drawing-to-canvas/README.md) - [تحريك العناصر على الشاشة](3-moving-elements-around/README.md) - [اكتشاف التصادم](4-collision-detection/README.md) - [حساب النقاط](5-keeping-score/README.md) - [إنهاء اللعبة وإعادة تشغيلها](6-end-condition/README.md) ## الشكر الموارد المستخدمة في هذا الدرس مأخوذة من https://www.kenney.nl/. إذا كنت مهتمًا ببناء الألعاب، فإن هذه الموارد رائعة جدًا، الكثير منها مجاني وبعضها مدفوع. **إخلاء المسؤولية**: تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.