Orodha ya maudhui:

Mapigano ya Jiji la Vita kwenye GameGo na Arcade ya Makecode: Hatua 4 (na Picha)
Mapigano ya Jiji la Vita kwenye GameGo na Arcade ya Makecode: Hatua 4 (na Picha)

Video: Mapigano ya Jiji la Vita kwenye GameGo na Arcade ya Makecode: Hatua 4 (na Picha)

Video: Mapigano ya Jiji la Vita kwenye GameGo na Arcade ya Makecode: Hatua 4 (na Picha)
Video: Bondi to Coogee Coastal Walk - Sydney, Australia - 4K60fps - 6 Miles! 2024, Desemba
Anonim
Image
Image

GameGo ni koni inayobebeka ya michezo ya kubahatisha inayoweza kuambukizwa ya Microsoft Makecode iliyoundwa na elimu ya TinkerGen STEM. Inategemea STM32F401RET6 ARM Cortex M4 chip na imetengenezwa kwa waalimu wa STEM au watu tu ambao wanapenda kufurahiya kuunda michezo ya video ya retro. Unaweza kufuata mafunzo haya na ujaribu mchezo katika simulator ya Makecode Arcade na kisha uiendeshe kwenye GameGo.

Katika kifungu hiki tutajaribu kurudia mchezo wa dereva wa tanki ya vita ya City City, iliyozalishwa na kuchapishwa mnamo 1985 na Namco kwa Mfumo wa Burudani wa Nintendo (NES). Katika mchezo wa asili mchezaji hudhibiti tangi na risasi projectiles kuharibu mizinga ya adui. Mizinga ya adui inajaribu kuharibu msingi wa mchezaji, na pia tank ya mchezaji yenyewe. Tutafanya marekebisho kwenye uchezaji wa mchezo ili kuchukua vizuri mazoezi ya programu ya kuzuia na GameGo, lakini marekebisho yetu bado yatabaki kufanana sana na mchezo wa asili. Wacha tuanze!

Vifaa

MchezoGo

Hatua ya 1: Alter-ego yetu - Tangi ya Njano

Alter-ego yetu - Tangi ya Njano
Alter-ego yetu - Tangi ya Njano

Fungua Arcade ya Makecode kwenye https://arcade.makecode.com/ na bonyeza mradi mpya. Tutaanza kufanya mabadiliko yangu kwa tank ya manjano. Chagua seti MySprite ili ucheze aina ya kizuizi cha kichezaji na chora tanki ya manjano inayoangalia juu kama sprite yetu ya kuanzia, weka kizuizi hicho ndani ya kizuizi cha mwanzo. Ongeza hoja mySprite na vifungo. Sasa tuna tank ambayo tunaweza kusonga na vifungo katika masimulizi! Kubwa, lakini daima inakabiliwa na mwelekeo huo huo, hata wakati tunashuka chini au pembeni…

Ili kurekebisha hilo, wacha tuongeze vizuizi vingine vinne, moja kwa kila kitufe cha mwelekeo. Unda ubadilishaji mpya, uitwao mwelekeo - tutaokoa mwelekeo wa harakati ya tank yetu ndani yake, 100 italingana na chini, -100 itaambatana na juu, 200 kulia na -200 kushoto. Kwa nini nambari hizi? Utaona baadaye, tunapoongeza projectiles ambazo tanki yetu itawaka moto. Mantiki ndani ya kila nne ya vitalu hivi ni rahisi sana - tunaangalia ikiwa mwelekeo mpya (kutoka kwa kitufe cha kifungo) ni sawa na mwelekeo hapo awali. Ikiwa ni hivyo, kimsingi hatufanyi mabadiliko yoyote. Ikiwa sio sisi hubadilisha sprite ya tank na ikiwa kwa mwelekeo wa chini na kushoto tunabadilisha picha ya sprite ili kuepuka kuchora sprites za ziada. Mwishowe wacha tuweke dhamana ya kuanzia kwa -100 (tanki kwenda juu), kwa kuwa hii ndivyo tanki yetu inavyoanza mchezo. Jaribu kuhamisha tank ya manjano sasa, sprite itabadilika kulingana na mwelekeo wa harakati sasa! Bora, sasa wacha tuongeze risasi.

Tutachoma risasi na seti ya projectile kwa projectile (chora mraba mdogo wa fedha kwa hiyo sprite) kutoka kwa mySprite na vx vy velocities. Ndani ya kitufe Kizuizi kilichobanwa, tunahitaji kuangalia dhamana kamili ya mwelekeo ili kuona ikiwa tanki ya manjano inakabiliwa juu / chini kushoto au kulia. Kisha tunaendelea kuchoma projectile na kasi ya kutofautisha mwelekeo - ndio sababu tulikuwa na -100 / 100 / -200 / 200 kwa maadili ya mwelekeo.

Sasa tuna tank ya manjano ambayo inaweza kuwasha projectiles na kusonga. Ikiwa mizinga ya kuigwa ya manjano ingeweza kuhisi bila shaka ingejisikia upweke katika tupu hii tupu bila maadui na vitu vya kufanya. Kwa hivyo, kwa hatua inayofuata wacha tuongeze maadui ili ipitishe wakati.

Hatua ya 2: Toa Maadui

Toa Maadui
Toa Maadui
Toa Maadui
Toa Maadui

Tutaanza hatua hii kwa kuunda rundo la vigeuzi vipya: safu mbili (moja ya kushikilia sprites za adui na nyingine ya kushikilia mwelekeo wa adui), spaw wakati wa kuhifadhi wakati wa kati ya spawns, hesabu ya adui ya kuhifadhi idadi kubwa ya maadui. wakati huo huo. Tutaongeza pia projectiles mbili (projectile na projectile ya adui) kufyatua risasi kwenye block block - ambayo itatusaidia kuepuka kosa baadaye.

Ifuatayo tunaunda kwenye sasisho la mchezo kila… ms block, ingiza spawn_time variable hapo. Mantiki ndani ya block ni rahisi - ikiwa jumla ya maadui kwenye uwanja wa vita ni chini ya kiwango cha juu cha idadi inayoruhusiwa ya maadui, ongeza adui kwa enemy_sprite_list na uongeze 200 (kwenda kulia) mwelekeo kwa adui huyo.

Ifuatayo, kwenye kizuizi kilichoundwa cha aina ya Adui wa Adui tunaongeza athari za kielelezo, kuiweka kwenye tile tupu bila mpangilio na piga kazi ya pick_direction kwa sprite hii. Katika sprite ya Adui wa aina anapiga ukuta, tunaita kazi sawa, pick_direction.

Je! Ni nini katika kazi hiyo? Hapa ndipo mambo yanapoanza kuwa ngumu kidogo, kwa hivyo shikilia. Kuna nafasi ya asilimia 50 ya tanki la adui kwenda juu na asilimia 50 ya kwenda chini - tunabadilisha sprite ipasavyo. Ujanja tu hapa ni kwamba tunahitaji pia kubadilisha thamani inayolingana na tanki la adui fulani katika orodha ya adui_directions_ kwa mwelekeo mpya, kwa hivyo tungekuwa na risasi za moto katika mwelekeo sahihi. Kwa hilo tunapata faharisi ya sprite ya adui katika orodha ya adui_sprite_ na ubadilishe thamani ya kitu hicho katika orodha ya maagizo ya maadui.

Mwishowe, wacha tuongeze risasi. Tunaongeza nyingine kwenye sasisho la mchezo kila kizuizi cha ms 500 na kuweka kipengee katika orodha ya adui_sprite_list. Kwa nafasi ya 30% mpinzani wa adui atapiga projectile ya adui katika mwelekeo wa harakati.

Ikiwa tunazindua mchezo kwa uigaji sasa, tunaweza kuona tanki yetu ya manjano na mizinga ya adui ikionekana katika hatua ile ile na kwenda kwenye nafasi tupu. Tunaweza kupiga risasi na wanaweza kupiga tanki la manjano, lakini hakuna chochote kitakachotokea. Inahisi bado haina maana bado:) Wacha tuongeze mapambo na mitambo ya mchezo kama hatua ya mwisho.

Hatua ya 3: 42 ya Mchezo

42 ya Mchezo
42 ya Mchezo
42 ya Mchezo
42 ya Mchezo
42 ya Mchezo
42 ya Mchezo

Tutaanza hatua hii kwa kuongeza maisha na alama kutoka kwa kichupo cha Info na kuweka maisha hadi 10 na kupata alama hadi sifuri. Kisha tunaongeza kuzuia kuweka ramani ya tile kwa…. Chora ramani ya faili kuangalia kitu kama unachokiona kwenye skrini hapo juu. Usisahau kuongeza kuta!

Wacha tuongeze kwenye proite ya aina Projectile inakabiliwa na nyingine Spite ya Mchezaji wa aina - hii ndio wakati risasi za adui zilipiga tanki yetu ya manjano. Tunahitaji kuhakikisha kuwa hizi projectiles ni risasi za adui na sio zetu, kwa hivyo tutaongeza kuwa ikiwa hali iko ndani ya block na ikiwa inatathmini kuwa ya Kweli, basi tunatoa moja kutoka kwa hesabu ya maisha. Sawa na hiyo, kwenye kizuizi kingine cha aina ya Projectile inapindana na nyingine Aina ya Adui tunahakikisha kuwa projectile ni projectile kutoka tanki ya manjano na ikiwa hali hii inatathmini kama ya Kweli, tunaharibu nyingineSprite (tanki la adui), ondoa kwenye orodha ya orodha ya adui_sifa na ongeza moja kufunga.

Jambo la mwisho ni hali ya ushindi na kushindwa - kwa ushindi, tutaangalia ikiwa alama ni kubwa au sawa na 10 katika kizuizi cha milele. Ikiwa ni hivyo, basi tunaonyesha skrini ya ushindi. Na kwenye maisha sifuri tunaonyesha Skrini ya Mchezo Juu.

Sasa jaribu katika masimulizi ili uone ikiwa mchezo unaendesha kama inavyotarajiwa. Kisha pakia kwenye GameGo na ufurahie kuvunja mizinga ya adui!

Hatua ya 4: Mchezo na Endless Maboresho

Mchezo usio na mwisho na Maboresho
Mchezo usio na mwisho na Maboresho

Katika ghala letu la GitHub unaweza kupakua faili mbili za Arcade ya Makecode - moja ni sawa kabisa utapata ikiwa utafuata hii inayoweza kufundishwa na nyingine ni toleo lililoboreshwa, ambalo kwa nasibu limetengeneza maendeleo ya kiwango. Ina viwango 10, kila moja hutengenezwa kwa nasibu na idadi kubwa ya maadui katika kila ngazi mfululizo.

Na kwa kweli, kuna mambo mengi zaidi ambayo wewe au wanafunzi wako mnaweza kuongeza kwenye mchezo juu ya hayo! Kuna muziki bora, kuta zinazovunjika, hali tofauti za ushindi na kadhalika!

Ikiwa unafanya toleo bora la mchezo, shiriki kwenye maoni hapa chini! Kwa habari zaidi juu ya GameGo na vifaa vingine kwa watunga na waelimishaji wa STEM, tembelea wavuti yetu, https://tinkergen.com/ na ujiandikishe kwenye blogi yetu.

TinkerGen imeanzisha kampeni ya Kickstarter ya MARK (Tengeneza Kitengo cha Roboti), kitanda cha roboti cha kufundisha kuweka alama, roboti, AI!

Ilipendekeza: