جدول المحتويات:

(متعددة اللاعبين) القتال على GameGo مع Makecode Arcade: 6 خطوات
(متعددة اللاعبين) القتال على GameGo مع Makecode Arcade: 6 خطوات

فيديو: (متعددة اللاعبين) القتال على GameGo مع Makecode Arcade: 6 خطوات

فيديو: (متعددة اللاعبين) القتال على GameGo مع Makecode Arcade: 6 خطوات
فيديو: Game of go كيف تلعب غو 2024, يوليو
Anonim

GameGo هي وحدة تحكم محمولة للألعاب متوافقة مع Microsoft Makecode تم تطويرها بواسطة TinkerGen STEM education. يعتمد على شريحة STM32F401RET6 ARM Cortex M4 ومصمم لمعلمي العلوم والتكنولوجيا والهندسة والرياضيات أو الأشخاص الذين يحبون الاستمتاع بإنشاء ألعاب فيديو قديمة ، يمكنك اتباع هذا البرنامج التعليمي وتجربة اللعبة في Makecode Arcade simulator ثم تشغيلها على GameGo.

في المقالات التي نشرناها من قبل ، حاولنا بالفعل صنع لعبة منهاج وإصدار جديد لمدينة باتل سيتي. أردت هذه المرة استخدام واجهة Jacdac لربط جهازي GameGo معًا والسماح للاعبين بالقتال من أجل التفوق في لعبة مقاتلة متعددة اللاعبين. لسوء الحظ ، اكتشفت أن برمجة الكتل لـ Jacdac multiplayer في مرحلة تجريبية حتى الآن ولديها بعض الأخطاء - لا يزال من الممكن إنشاء ألعاب أبسط ، لكن لم يحالفني الحظ في لعبتي القتالية. لذلك ، في هذا الدليل ، أنشر ثلاثة إصدارات من اللعبة (والتي أسميتها "Cthulhu Combat":))

- نسخة لاعب واحد مع خصم AI بسيط

- إصدار متعدد اللاعبين للعب في محاكاة Arcade

- إصدار متعدد اللاعبين مع Jacdac (غير مكتمل ، سيتم تحديثه لاحقًا)

اللوازم

GameGo

مايكروسوفت ماك كود أركيد

الخطوة 1: في وظائف Start و Round_setup

على وظائف Start و Round_setup
على وظائف Start و Round_setup

سأقوم بوصف لعبة ترميز اللاعب الفردي بالتفصيل ثم في الخطوات التالية نناقش كيفية تحقيقها

أ) محاكاة متعددة اللاعبين

ب) Jacdac متعددة اللاعبين.

نبدأ بتعيين خريطة البلاط على زنزانة مظلمة وإنشاء نقوش متحركة للاعب وروبوت AI - كلاهما ينتمي إلى نوع اللاعب. قمنا بتعيين تسارع المحور y على 600 - حتى لا يطيروا بعد القفز. نقوم أيضًا بتهيئة المقذوفات من الروبوت واللاعب قبل استدعاء وظيفة round_setup. تهتم وظيفة round_setup بإعداد جولة جديدة بالنسبة لنا - والسبب في جعلناها وظيفة هو أنه يمكن أن يكون هناك ما يصل إلى 3 جولات في اللعبة ونريد تجنب تكرار نفس الكود. في هذه الوظيفة ، نتحقق أولاً مما إذا كان أي من اللاعبين قد حقق انتصارين - إذا تم تقييم هذا الشرط على أنه صحيح ، فستنتهي اللعبة. إذا حقق كلا اللاعبين أقل من انتصارين ، فإننا نزيد متغير round_num بواحد ونضع اللاعبين في نقاط البداية ، ونجدد حياتهم إلى 100 ونعلن بداية جولة جديدة.

الخطوة 2: تدفق اللعبة

تدفق اللعبة
تدفق اللعبة

في هذه اللعبة ، يكون العالم نفسه ثابتًا ويكون تدفق اللعبة مرتبطًا بأفعال اللاعبين. في أربع كتل ، نحدد معظم قواعد اللعبة ، هذه الكتل هي: الضغط على الزر العلوي ، الضغط على الزر السفلي ، الضغط على الزر A والضغط على الزر B. دعونا نلقي نظرة على كل من هذه الكتل.

عند الضغط على زر المتابعة - منطق القفز المزدوج. إذا ضغطنا على زر القفز أقل من 3 مرات ، فسنضبط سرعة اللاعب vy على - 140 (التحرك لأعلى). لاعبنا لديه تسارع vy مضبوط على 600 ، لذلك بمجرد أن نقفز ، ستنخفض سرعتنا بسرعة. بمجرد أن يصل إلى 0 (لا يتحرك على المحور الرأسي) ، قمنا بتعيين Jump_count على 0 مرة أخرى.

عند الضغط على الزر لأسفل - منطق درع الهجوم بعيد المدى. إذا تم الضغط على الزر السفلي ، يقوم اللاعب بتغيير صورته إلى "محمية" ويضبط متغيرًا مدرعًا على 1.

على الزر مضغوط - أطلق قذيفة. هذا واحد إلى حد كبير لا يحتاج إلى شرح.

عند الضغط على الزر B - هجوم المشاجرة ، على غرار الدرع في التنفيذ.

قمنا بتعيين صور النقوش المتحركة للاعبين ومتغيراتهم المحمية / الهجومية على 0 كل 500 مللي ثانية في تحديث اللعبة كل.. كتلة مللي ثانية. كان بإمكاننا تعيين مؤقتات مستقلة لكل إجراء ، ولكن من أجل البساطة ، سنستخدم حلقة تحديث اللعبة الرئيسية فقط.

شروط الفوز هنا سهلة للغاية - عندما تصل حياة اللاعب إلى 0 ، يكون اللاعب الآخر قد ربح الجولة ، ثم نقوم بتخزين عدد مرات الفوز لكل لاعب في متغير.

أخيرًا ، هناك كتلتان تتحكمان في ضرر هجوم المدى البعيد وضرر هجوم الاشتباك. في كل واحد منهم نتحقق من اصطدام العفريت وإذا تم ضبط متغير الحماية / الهجوم للاعب المهاجم على 0/1.

الخطوة 3: لعبة 1: AI الخصم

لعبة 1: الخصم AI
لعبة 1: الخصم AI

في اللعبة الأولى ، سننشئ خصمًا بسيطًا نسبيًا للذكاء الاصطناعي ليكون اللاعب الثاني. في التحديث الداخلي للعبة كل 200 مللي ثانية ، نقوم أولاً بفحص المسافة بين اللاعب والذكاء الاصطناعي - إذا كانت أقل من 20 ، فإننا نضبط الذكاء الاصطناعي في وضع الاشتباك من خلال زيادة فرصة هجوم الاشتباك إلى 30 وفرصة هجوم تتراوح إلى 30. إذا كانت المسافة أعلى من 20 قمنا بتعيين فرصة هجوم المشاجرة على الصفر (لا يوجد نصف لتر في هجوم المشاجرة ، حيث أن اللاعب بعيد جدًا) ونقلنا الفرصة إلى 70. بعد أن تم تعيين فرص العمل ، نواصل تنفيذ هذه الإجراءات بالفرص المحددة. إذا حاولت اللعب ضد هذا الذكاء الاصطناعي البسيط بنفسك ، فسترى أنه على الرغم من أن سلوكه بسيط للغاية ، فإن الفوز ضده ليس بالأمر السهل - كما هو الحال غالبًا في حالة وجود خصوم يتحكم فيهم الكمبيوتر ، فإنه يفوز في الغالب لأنه يمكنه القيام بمزيد من الإجراءات في الثانية أكثر من لاعب بشري.

إذا علقت أثناء البرمجة ، يمكنك تنزيل الكود الكامل في مستودع GitHub الخاص بنا لهذا المشروع وفتحه في Makecode Arcade.

الخطوة 4: لعبة 2: محاكي متعدد اللاعبين

لعبة 2: محاكي متعدد اللاعبين
لعبة 2: محاكي متعدد اللاعبين
لعبة 2: محاكي متعدد اللاعبين
لعبة 2: محاكي متعدد اللاعبين

متغير اللعبة للاعبين في المحاكاة يشبه إلى حد بعيد إصدار اللاعب الفردي ، باستثناء أننا استبدلنا كتلة سلوك الذكاء الاصطناعي بأربعة كتل مضغوطة على زر للاعب 2 - مع محتوى داخل هذه الكتل يعكس محتوى نفس الكتل للاعب 1. إلقاء نظرة على لقطة الشاشة للحصول على فكرة أفضل عن التغييرات التي تحتاج إلى إجرائها. بصرف النظر عن ذلك ، نحتاج أيضًا إلى إضافة move player 2 مع حظر الأزرار في وظيفة البدء وتغيير شاشة النهاية للاعبين في اللعبة إلى WIN بدلاً من LOSE.

الخطوة 5: لعبة 3: Jacdac Multiplayer

لعبة 3: Jacdac Multiplayer
لعبة 3: Jacdac Multiplayer

لقد وجدت تطبيقًا مجتمعيًا لـ Jacdac multiplayer مع كتل Makecode arcade في موضوع المنتدى هذا

forum.makecode.com/t/new-extension-real-mu…

لقد اختبرت لعبة المثال هناك (Space Invaders) ووجدتها تعمل بشكل جيد للغاية. لسوء الحظ ، تستخدم ميكانيكا اللعبة في Cthulhu Combat الكثير من المتغيرات ويبدو أن امتدادات Real Multiplayer لا تدعم متغيرات المزامنة حتى الآن - لذلك قمت بتشغيلها ، تتم مزامنة إجراءات اللاعبين عبر الأجهزة ، ولكن لا يمكن للحياة أن تفعل ذلك. لا تسقط على جهاز المنافسين. هناك أيضًا خطأ في ميكانيكا المقذوفات ، لا يبدو أن المقذوفات تختفي بعد اصطدامها بالحائط ، مما يتسبب في فقدان الاتصال باللعبة بعد إطلاق حوالي 10 مقذوفات.

يمكنك تجربة تعدد اللاعبين عن طريق تنزيل ملف-p.webp

الخطوة 6: دع معركة Cthulhu تبدأ

فلتبدأ معركة كثولهو!
فلتبدأ معركة كثولهو!

لا يزال هناك الكثير من التحسينات التي يمكن إجراؤها على لعبتنا القتالية البسيطة - على سبيل المثال ، يمكنك إضافة سلوك AI أكثر تعقيدًا أو استخدام الامتداد لإضافة مجموعات الأزرار و / أو تسلسلات الرسوم المتحركة. حظًا سعيدًا واستمتع بوقتك أثناء برمجة ألعابك الخاصة باستخدام GameGo و Makecode Arcade.

إذا قمت بعمل نسخة محسنة من اللعبة ، فشاركها في التعليقات أدناه! لمزيد من المعلومات حول GameGo والأجهزة الأخرى للصانعين ومعلمي العلوم والتكنولوجيا والهندسة والرياضيات ، قم بزيارة موقعنا على الإنترنت ، https://tinkergen.com/ والاشتراك في نشرتنا الإخبارية.

موصى به: