جدول المحتويات:
- اللوازم
- الخطوة 1: Alter-ego - Yellow Tank
- الخطوة الثانية: أخرج الأعداء
- الخطوة 3:42 من اللعبة
- الخطوة 4: لعبة وتحسينات لا نهاية لها
فيديو: إعادة صنع Battle City على GameGo مع Makecode Arcade: 4 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة TinkerGen STEM education. وهو يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بصنع ألعاب فيديو قديمة. يمكنك متابعة هذا البرنامج التعليمي وتجربة اللعبة في Makecode Arcade simulator ثم تشغيلها على GameGo.
في هذه المقالة سنحاول إعادة إنشاء لعبة إطلاق النار الكلاسيكية للدبابات Battle City ، والتي تم إنتاجها ونشرها في الأصل عام 1985 بواسطة Namco لصالح Nintendo Entertainment System (NES). في اللعبة الأصلية ، يتحكم اللاعب في دبابة ويطلق المقذوفات لتدمير دبابات العدو. تحاول دبابات العدو تدمير قاعدة اللاعب وكذلك دبابة اللاعب نفسها. سنجري بعض التعديلات على طريقة اللعب لتلائم ممارسات برمجة الكتل بشكل أفضل مع GameGo ، لكن طبعتنا الجديدة ستظل تحتفظ بالكثير من التشابه مع اللعبة الأصلية. هيا نبدأ!
اللوازم
GameGo
الخطوة 1: Alter-ego - Yellow Tank
افتح Makecode Arcade على https://arcade.makecode.com/ وانقر على مشروع جديد. سنبدأ في صنع الأنا الأخرى الخاصة بنا الخزان الأصفر. اختر تعيين mySprite على كائن من كتلة اللاعب اللطيف وارسم دبابة صفراء متجهة لأعلى كعنصر البداية الخاص بنا ، ضع هذه الكتلة داخل كتلة البداية. إضافة تحريك mySprite مع كتلة الأزرار. الآن لدينا دبابة يمكننا تحريكها باستخدام الأزرار في المحاكاة! رائع ، لكنه دائمًا ما يواجه نفس الاتجاه ، حتى عندما نتحرك لأسفل أو جانبيًا …
لتصحيح ذلك ، دعنا نضيف أربع كتل أخرى ، واحدة لكل زر اتجاه ، وأنشئ متغيرًا جديدًا يسمى الاتجاه - سنحفظ اتجاه حركة الخزان فيه ، وسيتوافق 100 مع الأسفل ، وسيتوافق 100 مع الأعلى ، 200 لليمين و -200 لليسار. لماذا هذه الأرقام؟ سترى لاحقًا ، عندما نضيف المقذوفات التي ستطلقها دباباتنا. المنطق داخل كل أربع من هذه الكتل بسيط للغاية - نتحقق مما إذا كان الاتجاه الجديد (من الضغط على الزر) هو نفس الاتجاه السابق. إذا كان الأمر كذلك ، فنحن في الأساس لا نقوم بأي تغييرات. إذا لم يكن الأمر كذلك ، فقمنا بتغيير كائن الخزان وفي حالة الاتجاه لأسفل ولليسار ، فإننا نقلب صورة الكائن لتجنب رسم نقوش متحركة إضافية. أخيرًا ، دعنا نخصص قيمة البداية للاتجاه إلى -100 (الدبابة لأعلى) ، حيث أن هذه هي الطريقة التي يبدأ بها دباباتنا اللعبة. حاول تحريك الخزان الأصفر الآن ، سيتغير الكائن وفقًا لاتجاه الحركة الآن! ممتاز ، الآن دعنا نضيف الرصاص.
سنطلق الرصاص بمقذوف محدد للقذيفة (ارسم مربعًا فضيًا صغيرًا لهذا العفريت) من mySprite بسرعات vx vy. داخل كتلة مضغوطة على الزر ، نحتاج إلى التحقق من القيمة المطلقة للاتجاه لمعرفة ما إذا كان الخزان الأصفر يتجه لأعلى / لأسفل لليسار / لليمين. نبدأ بعد ذلك في إطلاق المقذوف بسرعة متغيرة الاتجاه - ولهذا كان لدينا -100 / 100 / -200 / 200 لقيم الاتجاه.
الآن لدينا خزان أصفر يمكنه إطلاق المقذوفات والتحرك. إذا كان من الممكن أن تشعر الدبابات المحاكية الصفراء بأنها ستشعر بالوحدة بالتأكيد في هذا الفراغ الفارغ بدون الأعداء والأشياء التي يجب القيام بها. لذا ، في الخطوة التالية ، دعونا نضيف أعداء لتمضية الوقت.
الخطوة الثانية: أخرج الأعداء
سنبدأ هذه الخطوة من خلال إنشاء مجموعة من المتغيرات الجديدة: مصفوفتان (أحدهما لعقد العفاريت الأعداء والآخر للاحتفاظ باتجاهات العدو) ، متغير وقت التفرخ لتخزين الفترة الزمنية بين عمليات النشر ، وعدد الأعداء لتخزين أكبر عدد من الأعداء في نفس الوقت. سنضيف أيضًا مقذوفين (مقذوف وقذيفة معادية) يطلقان النار عند بدء التشغيل - سيساعدنا ذلك على تجنب حدوث خطأ لاحقًا.
بعد ذلك ، نقوم بإنشاء تحديث اللعبة كل كتلة … وأدخل متغير وقت النشر هناك. المنطق داخل الكتلة بسيط - إذا كان العدد الإجمالي للأعداء في ساحة المعركة أقل من الحد الأقصى المسموح به لعدد الأعداء ، أضف عدوًا إلى قائمة العدو. 200 (يسير يمينًا) اتجاه ذلك العدو.
بعد ذلك ، في الكائن الذي تم إنشاؤه من كتلة العدو اللطيفة ، نضيف بعض التأثيرات الرسومية ، ونضعها على بلاطة فارغة عشوائية واستدعاء وظيفة pick_direction لهذا الكائن. في كائن من النوع الذي يصطدم العدو بالحائط ، نسمي نفس الوظيفة ، pick_direction.
ما هو في هذه الوظيفة؟ هنا حيث تبدأ الأمور في التعقيد قليلاً ، لذا انتظر. هناك فرصة بنسبة 50 في المائة لارتفاع دبابة العدو وسقوط 50 في المائة منها - نغير الكائن وفقًا لذلك. الحيلة الوحيدة هنا هي أننا نحتاج أيضًا إلى تغيير القيمة المقابلة لدبابة العدو المعينة في قائمة اتجاهات_العدو إلى اتجاهها الجديد ، لذلك سنجعلها تطلق الرصاص في الاتجاه الصحيح. لذلك نجد فهرس كائن العدو في قائمة العدو في قائمة الاهتمامات وتغيير قيمة هذا العنصر في قائمة اتجاهات العدو.
أخيرًا ، دعنا نضيف طلقات إطلاق النار. نضيف آخر على تحديث اللعبة كل كتلة 500 مللي ثانية ونضع عنصرًا في قائمة العدو. مع احتمال 30٪ أن يقوم كائن العدو بإطلاق قذيفة معادية في اتجاه حركته.
إذا أطلقنا اللعبة في محاكاة الآن ، يمكننا أن نرى دباباتنا الصفراء ودبابات العدو تظهر في نفس النقطة وتذهب إلى الفضاء الفارغ. يمكننا إطلاق النار ويمكنهم إطلاق النار على دبابتنا الصفراء ، لكن لن يحدث شيء. لا يزال الشعور خاليًا من المعنى:) دعنا نضيف الزخارف وميكانيكا اللعبة كخطوة أخيرة.
الخطوة 3:42 من اللعبة
سنبدأ هذه الخطوة عن طريق إضافة الحياة والنتيجة من علامة التبويب المعلومات وتعيين الحياة على 10 والنتيجة إلى الصفر. ثم نضيف خريطة مجموعة المربعات إلى…. ارسم خريطة الملف لتبدو كما تراه في لقطة الشاشة أعلاه. لا تنس أن تضيف الجدران!
دعنا نضيف كائنًا من النوع المقذوف يتداخل مع الآخر ، وهو لاعب من النوع اللطيف - هذا عندما تصطدم رصاصة العدو بالدبابة الصفراء الخاصة بنا. نحتاج إلى التأكد من أن هذه المقذوفات هي رصاص العدو وليست رصاصنا ، لذلك سنضيف أنه إذا كانت الحالة داخل الكتلة وإذا تم تقييمها على أنها صحيحة ، فإننا نطرح واحدة من عدد الحياة. على غرار ذلك ، في كتلة أخرى على كائن من النوع المقذوف يتداخل مع الآخر نبرة من نوع العدو ، نتأكد من أن المقذوف عبارة عن قذيفة من دبابة صفراء وإذا تم تقييم هذا الشرط على أنه صحيح ، فإننا ندمر otherSprite (دبابة العدو) ، قم بإزالتها من القائمة من العدو_sprite_list وأضف واحدًا للتسجيل.
آخر شيء هو شروط النصر والهزيمة - لتحقيق النصر ، سوف نتحقق مما إذا كانت النتيجة أعلى أو تساوي 10 في الكتلة إلى الأبد. إذا كان الأمر كذلك ، فإننا نعرض شاشة النصر. وفي كتلة الحياة الصفرية نعرض شاشة Game Over.
جربها الآن في المحاكاة لمعرفة ما إذا كانت اللعبة تعمل كما هو متوقع. ثم قم بتحميله على GameGo واستمتع بتحطيم دبابات العدو!
الخطوة 4: لعبة وتحسينات لا نهاية لها
في مستودع GitHub الخاص بنا ، يمكنك تنزيل ملفين لـ Makecode Arcade - أحدهما هو نفسه تمامًا الذي ستحصل عليه إذا اتبعت هذا التوجيه والآخر هو نسخة مطورة ، مما أدى إلى إنشاء مستوى تقدم عشوائيًا. تحتوي على 10 مستويات ، كل مستوى يتم إنشاؤه بشكل عشوائي مع زيادة عدد الأعداء في كل مستوى متتالي.
وبالطبع ، هناك المزيد من الأشياء التي يمكنك أنت أو طلابك إضافتها إلى اللعبة علاوة على ذلك! هناك موسيقى أفضل وجدران قابلة للكسر وظروف انتصار مختلفة وما إلى ذلك!
إذا قمت بعمل نسخة محسنة من اللعبة ، فشاركها في التعليقات أدناه! لمزيد من المعلومات حول GameGo والأجهزة الأخرى للصانعين ومعلمي العلوم والتكنولوجيا والهندسة والرياضيات ، قم بزيارة موقعنا على الإنترنت ، https://tinkergen.com/ واشترك في مدونتنا.
بدأت TinkerGen حملة Kickstarter لـ MARK (Make A Robot Kit) ، وهي مجموعة روبوت لتعليم الترميز ، والروبوتات ، والذكاء الاصطناعي!
موصى به:
(متعددة اللاعبين) القتال على GameGo مع Makecode Arcade: 6 خطوات
(متعددة اللاعبين) القتال على GameGo مع Makecode Arcade: GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة تعليم TinkerGen STEM. يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بإنشاء مقاطع فيديو قديمة
منصة ذات مستويات لا نهائية على GameGo مع Makecode Arcade: 5 خطوات (بالصور)
منصة ذات مستويات لا نهائية على GameGo مع Makecode Arcade: GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة تعليم TinkerGen STEM. وهو يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بصنع ألعاب فيديو قديمة
إعادة استخدام زينة عيد الميلاد LED القديمة عن طريق إعادة مزجها: 7 خطوات
إعادة استخدام زينة عيد الميلاد LED القديمة عن طريق إعادة مزجها: لقد اشتريت زينة عيد الميلاد البشعة إلى حد ما في متجر باوند (أي متجر بالدولار) خلال مبيعات ما بعد الموسم قبل ثلاث سنوات. لقد كان & quot؛ NOEL & quot؛ مخيبًا علامة مضاءة بعدد غير كافٍ من مصابيح LED التي تعمل بالبطارية
صنع قلادة البرق باستخدام مواد إعادة التدوير: 5 خطوات (بالصور)
صنع قلادة Lightning باستخدام مواد إعادة التدوير: مرحبًا بالجميع ، منذ حوالي شهر واحد ، اشتريت بعض مصابيح شريط LED بأسعار معقولة من Bangood.com. يمكنك أن ترى أن أضواء شريط LED تستخدم في التصميمات الداخلية / الخارجية للمنزل / الحديقة وما إلى ذلك ، لقد قررت صنع قلادة مضيئة عندما يكون الجديد
إعادة تعبئة SLA (بطارية الرصاص الحمضية المختومة) ، مثل إعادة تعبئة بطارية السيارة: 6 خطوات
إعادة تعبئة SLA (بطارية حمض الرصاص المختومة) ، مثل إعادة تعبئة بطارية السيارة: هل جفت أيًا من اتفاقيات SLA الخاصة بك؟ انسكاب حامض البطارية ، والإصابة ، وإغلاق اتفاقية مستوى الخدمة الجيدة وما إلى ذلك