فهرست مطالب:
- تدارکات
- مرحله 1: مائده ما - مخزن زرد
- مرحله 2: بیرون آوردن دشمنان
- مرحله 3: 42 بازی
- مرحله 4: بازی بی پایان و پیشرفت
تصویری: بازی Battle City Remake در GameGo With Makecode Arcade: 4 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
GameGo یک کنسول بازی قابل حمل یکپارچهسازی با سیستمعامل Microsoft Makecode است که توسط آموزش TinkerGen STEM توسعه یافته است. این دستگاه بر اساس تراشه STM32F401RET6 ARM Cortex M4 ساخته شده است و برای مربیان STEM یا فقط افرادی که دوست دارند از ایجاد بازی های ویدئویی یکپارچهسازی با سیستم لذت ببرند ساخته شده است. می توانید این آموزش را دنبال کنید و بازی را در شبیه ساز Makecode Arcade امتحان کنید و سپس آن را در GameGo اجرا کنید.
در این مقاله ما سعی می کنیم بازسازی یک بازی کلاسیک Battle City Battle Shooter را که در ابتدا در سال 1985 توسط Namco برای سیستم سرگرمی نینتندو (NES) تولید و منتشر شد ، امتحان کنیم. در بازی اصلی ، بازیکن یک تانک را کنترل می کند و برای انهدام تانک های دشمن پرتاب می کند. تانک های دشمن سعی می کنند پایگاه بازیکن و همچنین خود تانک بازیکن را از بین ببرند. ما برخی تغییرات را در بازی انجام می دهیم تا شیوه های برنامه نویسی بلاک را با GameGo بهتر تطبیق دهیم ، اما بازسازی ما هنوز شباهت زیادی به بازی اصلی خواهد داشت. شروع کنیم!
تدارکات
GameGo
مرحله 1: مائده ما - مخزن زرد
Makecode Arcade را در https://arcade.makecode.com/ باز کنید و روی پروژه جدید کلیک کنید. ما شروع به ساختن مخزن زرد خودم می کنم. Set mySprite را برای sprite از نوع بلوک پخش کننده انتخاب کنید و یک مخزن زرد رنگ رو به بالا به عنوان Sprite شروع کننده خود بکشید ، آن بلوک را داخل بلوک شروع قرار دهید. move mySprite را با دکمه بلوک اضافه کنید. اکنون ما یک مخزن داریم که می توانیم آن را با دکمه های شبیه سازی حرکت دهیم! عالی است ، اما همیشه با یک جهت روبرو است ، حتی زمانی که به سمت پایین یا پهلو حرکت می کنیم…
برای اصلاح آن ، بیایید چهار بلوک دیگر ، یکی برای هر دکمه جهت اضافه کنیم. یک متغیر جدید ایجاد کنید ، به نام جهت - ما جهت حرکت مخزن خود را در آن ذخیره می کنیم ، 100 مربوط به پایین است ، -100 مربوط به بالا است ، 200 برای راست و -200 برای چپ. چرا این اعداد؟ بعداً خواهید دید ، وقتی پرتابه هایی را اضافه می کنیم که تانک ما شلیک می کند. منطق در هر چهار این بلوک ها بسیار ساده است - ما بررسی می کنیم که آیا جهت جدید (با فشار دکمه) با جهت قبل یکسان است یا خیر. اگر چنین باشد ، ما اساساً هیچ تغییری انجام نمی دهیم. در غیر این صورت ، اسپریت مخزن را تغییر می دهیم و در جهت پایین و چپ ، تصویر اسپریت را برمی گردانیم تا از ترسیم اسپریت اضافی جلوگیری شود. در نهایت اجازه دهید مقدار شروع جهت را به -100 (تانک به سمت بالا) اختصاص دهیم ، زیرا مخزن ما اینگونه بازی را شروع می کند. سعی کنید هم اکنون مخزن زرد را حرکت دهید ، اسپریت با توجه به جهت حرکت تغییر می کند! بسیار عالی ، حالا بیایید گلوله ها را اضافه کنیم.
ما گلوله هایی با پرتابه به پرتابه (برای آن اسپریت مربع نقره کوچک بکشید) از mySprite با سرعت vx vy شلیک می کنیم. داخل دکمه روشن یک بلوک فشرده ، باید مقدار مطلق جهت را بررسی کنیم تا ببینیم آیا مخزن زرد رو به بالا/پایین سمت چپ/راست است. سپس شلیک پرتابه را با متغیر سرعت جهت انجام می دهیم -به همین دلیل ما مقادیر جهت -100/100/-200/200 را داشتیم.
اکنون ما یک مخزن زرد رنگ داریم که می تواند پرتابه پرتاب کند و حرکت کند. اگر مخازن شبیه سازی شده زرد می توانستند احساس کنند مطمئناً در این خلاء خالی بدون دشمنان و کارهایی که باید انجام شود احساس تنهایی می کردند. بنابراین ، برای مرحله بعدی اجازه دهید دشمنان را برای گذر زمان اضافه کنیم.
مرحله 2: بیرون آوردن دشمنان
ما این مرحله را با ایجاد مجموعه ای از متغیرهای جدید آغاز می کنیم: دو آرایه (یکی برای نگه داشتن اسپریت های دشمن و دیگری برای نگه داشتن جهت های دشمن) ، متغیر زمان تخم ریزی برای ذخیره دوره زمانی بین تخم ریزی ، تعداد دشمن برای ذخیره حداکثر تعداد دشمنان همزمان. ما همچنین دو پرتابه (پرتابه و پرتابه دشمن) را در شلیک به بلوک شروع اضافه می کنیم - این به ما کمک می کند تا بعداً از خطا جلوگیری کنیم.
در مرحله بعد ما هر بلوک ms را در بروزرسانی بازی ایجاد می کنیم ، متغیر spawn_time را در آنجا وارد می کنیم. منطق داخل بلوک ساده است - اگر تعداد دشمنان در میدان جنگ کمتر از حداکثر تعداد مجاز دشمنان باشد ، یک دشمن را به list_sprite_list اضافه کنید و اضافه کنید جهت 200 (راست رفتن) برای آن دشمن.
در مرحله بعد ، در بلاک ایجاد شده از نوع Enemy ، تعدادی جلوه گرافیکی اضافه می کنیم ، آن را روی یک کاشی خالی تصادفی قرار می دهیم و تابع pick_direction را برای این Sprite فراخوانی می کنیم. در حرکتی زیبا از نوع دشمن ، ما همان تابع را انتخاب می کنیم ، pick_direction.
در آن عملکرد چیست؟ در اینجاست که همه چیز کمی پیچیده می شود ، پس منتظر باشید. 50 درصد احتمال بالا رفتن تانک دشمن و کاهش 50 درصدی آن وجود دارد - ما بر این اساس اسپریت را تغییر می دهیم. تنها ترفند در اینجا این است که ما همچنین باید مقدار مربوط به آن تانک دشمن خاص را در لیست_دایرنشین_ دشمن به جهت جدید تغییر دهیم ، بنابراین ما باید گلوله ها را در جهت درست شلیک کنیم. برای این ، ما فهرست sprite دشمن را در dijmin_sprite_list می یابیم و مقدار آن را در لیست_دستگاه های دشمن تغییر می دهیم.
در نهایت ، اجازه دهید شلیک شلیک را اضافه کنیم. هر بلوک 500 میلی ثانیه دیگری به روزرسانی بازی اضافه می کنیم و یک مورد برای مورد در dijmin_سپریت_لیست قرار می دهیم. با 30 chance احتمال یک فروند دشمن پرتابه دشمن را در جهت حرکت خود شلیک می کند.
اگر بازی را در حال حاضر در شبیه سازی راه اندازی کنیم ، می توانیم تانک زرد و تانک های دشمن خود را در یک نقطه ظاهر کنیم و به فضای خالی برویم. ما می توانیم شلیک کنیم و آنها می توانند به تانک زرد ما شلیک کنند ، اما هیچ اتفاقی نمی افتد. هنوز خیلی بی معناست:) بیایید تزئینات و مکانیک بازی را به عنوان آخرین مرحله اضافه کنیم.
مرحله 3: 42 بازی
ما قصد داریم این مرحله را با افزودن عمر و نمره از برگه اطلاعات و تنظیم عمر بر روی 10 و امتیاز به صفر آغاز کنیم. سپس نقشه بلوک مجموعه کاشی را به… اضافه می کنیم. نقشه فایل را بکشید تا چیزی شبیه تصویر بالا در تصویر باشد. اضافه کردن دیوارها را فراموش نکنید!
بیایید بر روی Sprite از نوع Projectile همپوشانی کنیم Playerprite of kind Player - این زمانی است که گلوله های دشمن به تانک زرد ما اصابت می کند. ما باید مطمئن شویم که این پرتابه ها گلوله های دشمن هستند و نه گلوله های خود ما ، بنابراین اگر شرایط داخل بلوک و اگر به عنوان True ارزیابی شود ، اضافه می کنیم ، سپس شمارش را از شمارش عمر کم می کنیم. مشابه آن ، در یک بلوک دیگر در sprite of kind پرتابه با دیگری همپوشانی دارد Prite of kind Enemy ما مطمئن می شویم که پرتابه یک پرتابه از تانک زرد است و اگر این شرایط درست ارزیابی شود ، ما otherSprite (تانک دشمن) را نابود می کنیم ، آن را از لیست حذف کنید از دشمن_sprite_list و یکی را به نمره اضافه کنید.
آخرین مورد پیروزی و شرایط شکست است - برای پیروزی ، ما بررسی می کنیم که آیا نمره بالاتر است یا برابر 10 در بلاک برای همیشه. اگر چنین است ، صفحه پیروزی را نشان می دهیم. و در life life zero ما Game Over را روی صفحه نمایش می دهیم.
حالا آن را در شبیه سازی امتحان کنید تا ببینید آیا بازی مطابق انتظار اجرا می شود یا خیر. سپس آن را در GameGo بارگذاری کنید و از شکستن تانک های دشمن لذت ببرید!
مرحله 4: بازی بی پایان و پیشرفت
در مخزن GitHub ما می توانید دو فایل را برای Makecode arcade بارگیری کنید - یکی دقیقاً همان چیزی است که اگر از این دستورالعمل پیروی کنید ، دریافت خواهید کرد و دیگری نسخه ارتقا یافته است ، که به طور تصادفی سطح پیشرفت را ایجاد کرده است. این دارای 10 سطح است ، هر یک به طور تصادفی با افزایش تعداد دشمنان در هر سطح متوالی ایجاد می شود.
و البته ، چیزهای بیشتری وجود دارد که شما یا دانش آموزان می توانید علاوه بر آن به بازی اضافه کنید! موسیقی بهتر ، دیوارهای شکستنی ، شرایط پیروزی متفاوت و غیره وجود دارد!
اگر نسخه بهبود یافته بازی را ساختید ، آن را در نظرات زیر به اشتراک بگذارید! برای کسب اطلاعات بیشتر در مورد GameGo و سایر سخت افزارهای سازندگان و مربیان STEM ، از وب سایت ما ، https://tinkergen.com/ دیدن کنید و در وبلاگ ما مشترک شوید.
TinkerGen یک کمپین Kickstarter برای MARK (Make A Robot Kit) ، یک کیت ربات برای آموزش برنامه نویسی ، رباتیک ، AI!
توصیه شده:
(چند نفره) مبارزه در GameGo With Makecode Arcade: 6 مرحله
(چند نفره) مبارزه با GameGo With Makecode Arcade: GameGo یک کنسول قابل حمل بازی یکپارچهسازی سازگار با مایکروسافت Makecode است که توسط آموزش TinkerGen STEM توسعه یافته است. این دستگاه بر اساس تراشه STM32F401RET6 ARM Cortex M4 طراحی شده است و برای مربیان STEM یا فقط افرادی که از ایجاد سرگرمی ویدئویی یکپارچهسازی با سیستمعامل لذت می برند ساخته شده است
Platformer با سطوح بی نهایت در GameGo With Makecode Arcade: 5 مرحله (همراه با تصاویر)
Platformer با سطوح بی نهایت در GameGo With Makecode Arcade: GameGo یک کنسول قابل حمل یکپارچهسازی با سیستمعامل سازگار با Microsoft Makecode است که توسط آموزش TinkerGen STEM توسعه یافته است. بر اساس تراشه STM32F401RET6 ARM Cortex M4 ساخته شده است و برای مربیان STEM یا فقط افرادی که دوست دارند از ایجاد یک بازی ویدیویی یکپارچهسازی با سیستمعامل لذت ببرند ساخته شده است
نرم اسباب بازی بلوتوث تاس و توسعه بازی Android با MIT App Inventor: 22 مرحله (همراه با تصاویر)
نرم اسباب بازی بلوتوث تاس و توسعه بازی Android با MIT App مخترع: بازی تاس روش متفاوتی دارد 1) بازی سنتی با تاس چوبی یا برنجی. 2) بازی در موبایل یا رایانه با مقدار تاس که به طور تصادفی توسط تلفن همراه یا رایانه ایجاد شده است. در این روش متفاوت تاس را به صورت فیزیکی بازی کنید و سکه را در تلفن همراه یا رایانه جابجا کنید
کنترل کننده بازی مبتنی بر آردوینو - کنترل کننده بازی Arduino PS2 - بازی Tekken With DIY Arduino Gamepad: 7 مرحله
کنترل کننده بازی مبتنی بر آردوینو | کنترل کننده بازی Arduino PS2 | بازی Tekken With DIY Arduino Gamepad: سلام بچه ها ، بازی کردن همیشه سرگرم کننده است اما بازی با کنترلر بازی سفارشی DIY خود سرگرم کننده تر است. بنابراین ما در این دستورالعمل یک کنترلر بازی با استفاده از arduino pro micro ایجاد می کنیم
کابینت بازی 4 نفره پایه بازی برای MAME: 32 مرحله (همراه با تصاویر)
کابینت بازی 4 نفره پایه برای MAME: این به شما نشان می دهد که چگونه من کابینت پایه 4 بازیکن MAME خود را ساختم. موارد زیادی وجود دارد که ممکن است بخواهید آن را به دلخواه خود سفارشی کنید. من به شما نشان خواهم داد که چگونه من را ساخته ام ، شما می توانید با خیال راحت آن را به دلخواه خود تغییر دهید. این پنجره استاندارد را در خود جای داده است