Sisukord:
- Tarvikud
- Samm: meie Alter -ego - kollane paak
- 2. samm: tooge vaenlased välja
- Samm 3: 42 mängu
- 4. samm: lõputu mäng ja täiustused
Video: Battle City uusversioon GameGo -s koos Makecode Arcade'iga: 4 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
GameGo on Microsofti Makecode'iga ühilduv kaasaskantav retro -mängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i haridustöötajatele või lihtsalt inimestele, kellele meeldib retro videomängude loomisel lõbus olla. Saate järgida seda õpetust ja proovida mängu Makecode Arcade'i simulaatoris ning seejärel käivitada see GameGos.
Selles artiklis proovime oma kätt klassikalise Battle City tankitulistamismängu taastamisel, mille algselt tootis ja avaldas 1985. aastal Namco Nintendo Entertainment System (NES) jaoks. Algses mängus juhib mängija tanki ja tulistab mürske, et hävitada vaenlase tankid. Vaenlase tankid üritavad hävitada mängija baasi, aga ka mängija tanki ennast. Teeme mängus mõningaid muudatusi, et paremini kohandada GameGo plokkide programmeerimistavasid, kuid meie uusversioon säilitab siiski palju sarnasust algse mänguga. Alustagem!
Tarvikud
GameGo
Samm: meie Alter -ego - kollane paak
Avage Makecode Arcade aadressil https://arcade.makecode.com/ ja klõpsake uut projekti. Hakkame oma alter-egost kollast tanki tegema. Valige Set mySprite to sprite of kind player block ja joonistage kollane paak, mis on ülespoole suunatud meie sprindiks, pange see plokk stardiploki sisse. Lisa liiguta mySprite nuppudega. Nüüd on meil tank, mida saame simulatsioonis nuppudega liigutada! Suurepärane, kuid see on alati samas suunas, isegi kui liigume alla või külili …
Selle parandamiseks lisage veel neli plokki, üks iga suuna nupu jaoks. Looge uus muutuja, mida nimetatakse suunaks - salvestame selles oma tanki liikumissuuna, 100 vastab alla, -100 vastab üles, 200 paremale ja -200 vasakule. Miks need numbrid? Näete hiljem, kui lisame mürsud, et meie tank paugutab. Nende nelja ploki loogika on väga lihtne - kontrollime, kas uus suund (nupuvajutusest) on sama, mis enne. Kui see on nii, siis me põhimõtteliselt muudatusi ei tee. Kui ei, siis vahetame paagi sprite ja juhul, kui suund on alla ja vasakule, pöörame sprite'i pilti, et vältida täiendavate spritide tõmbamist. Lõpuks määrame suuna algväärtuseks -100 (paak ülespoole), sest nii alustab meie tank mängu. Proovige kollast paaki kohe liigutada, sprite muutub vastavalt liikumissuunale kohe! Suurepärane, lisame nüüd täppe.
Me tulistame mürsust mürskudega kuuli (joonistage selle sprite jaoks väike hõbedane ruut) vx vy kiirusega. Nupu A vajutatud ploki sees peame kontrollima suuna absoluutväärtust, et näha, kas kollane paak on vasakule/paremale üles/alla suunatud. Seejärel tulistame mürsku suuna muutuva kiirusega -sellepärast oli meil suunaväärtuste jaoks -100/100/-200/200.
Nüüd on meil kollane paak, mis võib tulistada mürske ja liikuda. Kui kollastel simuleeritud tankidel oleks tunne, tunneks see end selles tühjas tühjus ilma vaenlaste ja asjadeta kindlasti üksildasena. Niisiis, lisame järgmiseks sammuks vaenlasi, et see aega veeta.
2. samm: tooge vaenlased välja
Alustame seda sammu, luues hulga uusi muutujaid: kaks massiivi (üks vaenlase sprite hoidmiseks ja teine vaenlase suundade hoidmiseks), kudemisaja muutuja kudemistevahelise ajavahemiku salvestamiseks, vaenlaste arv maksimaalse arvu vaenlaste salvestamiseks samal ajal. Lisame stardiplokki ka kaks mürsku (mürsk ja vaenlase mürsk) - see aitab meil hiljem viga vältida.
Järgmisena loome mängu värskendamisel iga… ms ploki, sisestage sinna muutuja spawn_time. Ploki sees olev loogika on lihtne - kui lahinguväljal on vaenlaste koguarv väiksem kui maksimaalne lubatud vaenlaste arv, lisage vaenlane vaenlase_sprite_list ja lisage 200 (läheb paremale) suunas selle vaenlase jaoks.
Järgmisena lisame loodud vaenlaseploki Enemy plokki mõned graafilised efektid, asetame selle juhuslikule tühjale plaadile ja helistame selle sprite jaoks funktsiooni pick_direction. Hoolimata sellest, et vaenlane lööb seina, kutsume sama funktsiooni pick_direction.
Mis selles funktsioonis on? Siin hakkavad asjad natuke keeruliseks minema, nii et oodake. 50 % tõenäosus on, et vaenlase tank tõuseb ja 50 % langeb - vastavalt muudame sprite. Ainus trikk on see, et peame muutma ka vastase vaenlase tanki vastava väärtuse vaenlase_suunad_loendis uuele suunale, nii et me laseme sellel kuulid õiges suunas. Selleks leiame vaenlase sprite indeksi vaenlase_sprite_loendist ja muudame selle üksuse väärtust loendis vaenlase_suunad.
Lõpuks lisame tulistamisi. Lisame mängu värskenduse iga 500 ms ploki järel ja lisame üksuse vaenlase_produktide_loendisse. 30% tõenäosusega laseb vaenlase sprite vaenlase mürsu oma liikumissuunas.
Kui käivitame mängu simulatsioonina, näeme, et meie kollane tank ja vaenlase tankid ilmuvad samasse kohta ja lähevad tühja ruumi. Meie võime tulistada ja nemad meie kollast tanki, kuid midagi ei juhtuks. See tundub ikka nii tähendusetu:) Lisame viimaseks sammuks dekoratsioonid ja mängumehaanika.
Samm 3: 42 mängu
Alustame seda sammu, lisades vahekaardilt Info elu ja skoori ning seadistades elu väärtuseks 10 ja skoori nulli. Seejärel lisame plokkide komplekti plaatide kaardi…. Joonistage failikaart, et see näeks välja selline, nagu näete ülaltoodud ekraanipildil. Ärge unustage seinu lisada!
Lisagem vaatamata lahketele Mürsk kattub teistega Lahke mängija - see on siis, kui vaenlase kuulid tabavad meie kollast tanki. Peame veenduma, et need mürsud on vaenlase kuulid, mitte meie omad, seega lisame, et kui olukord plokis ja kui see on tõene, lahutame ühe elust. Sarnaselt teisele plokile, mis katab igasuguseid mürske, kattub teistega vaenlase_sprite_loendist ja lisage üks, et skoorida.
Viimane asi on võidu ja lüüasaamise tingimused - võidu saamiseks kontrollime, kas igavese bloki tulemus on kõrgem või võrdne 10 -ga. Kui on, siis näitame võiduekraani. Ja elu nullplokis näitame ekraani Game Over.
Nüüd proovige seda simulatsioonis, et näha, kas mäng töötab ootuspäraselt. Seejärel laadige see GameGosse ja nautige vaenlase tankide purustamist!
4. samm: lõputu mäng ja täiustused
Meie GitHubi hoidlast saate Makecode arcade jaoks alla laadida kaks faili - üks on täpselt sama, mille saaksite, kui järgite seda juhendit, ja teine on täiendatud versioon, mis on juhuslikult genereerinud taseme. Sellel on 10 taset, millest igaüks genereeritakse juhuslikult, suurendades igal järgneval tasemel vaenlasi.
Ja muidugi on veel rohkem asju, mida saate ise või teie õpilased mängule lisada! Seal on parem muusika, purunevad seinad, erinevad võidutingimused ja nii edasi!
Kui teete mängust täiustatud versiooni, jagage seda allolevates kommentaarides! Kui soovite lisateavet GameGo ja muu riistvara kohta tegijatele ja STEM -i koolitajatele, külastage meie veebisaiti https://tinkergen.com/ ja tellige meie ajaveeb.
TinkerGen on alustanud Kickstarteri kampaaniat MARK (Make A Robot Kit) jaoks, robotikomplekt kodeerimise, robootika ja tehisintellekti õpetamiseks!
Soovitan:
(Mitmikmäng) GameGo võitlus Makecode Arcade'iga: 6 sammu
(Mitmikmäng) GameGo võitlus Makecode Arcade'iga: GameGo on Microsofti Makecode'iga ühilduv kaasaskantav mängumängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i pedagoogidele või lihtsalt inimestele, kellele meeldib lõbutseda retrovideo loomisel
Arduino parkimisabiline - parkige oma auto iga kord õigesse kohta: 5 sammu (koos piltidega)
Arduino parkimisabiline - parkige oma auto iga kord õigesse kohta: Selles projektis näitan teile, kuidas Arudino abil oma parkimisabiline ehitada. See parkimisabiline mõõdab kaugust teie autoni ja juhendab teid pargima selle õigesse kohta, kasutades LCD -ekraani näidikut ja LED -i
Platvorm, millel on lõpmatu tase GameGo -s koos Makecode Arcade'iga: 5 sammu (piltidega)
Platvormer, millel on lõpmatu tase GameGo'l Makecode Arcade'iga: GameGo on Microsofti Makecode'iga ühilduv kaasaskantav mängumängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i haridustöötajatele või lihtsalt inimestele, kellele meeldib retro -videomängude loomisel lõbutseda
Alexa hääljuhtimisega Raspberry Pi droon IoT ja AWS -iga: 6 sammu (koos piltidega)
Alexa hääljuhtimisega Raspberry Pi droon IoT ja AWS -iga: Tere! Minu nimi on Armaan. Olen 13-aastane Massachusettsi poiss. See õpetus näitab, nagu saate pealkirjast järeldada, kuidas Raspberry Pi drooni ehitada. See prototüüp näitab, kuidas droonid arenevad, ja ka seda, kui suurt osa nad võivad mängida
Meeleoluprojektor (häkkinud Philips Hue Light koos GSR -iga) TfCD: 7 sammu (koos piltidega)
Meeleoluprojektor (häkkinud Philips Hue Light koos GSR -iga) TfCD: autor Laura Ahsmann & Maaike Weber Eesmärk: Madal meeleolu ja stress on suur osa tänapäevasest kiirest elust. See on ka midagi, mis on väliselt nähtamatu. Mis siis, kui suudaksime oma stressitaset nii visuaalselt kui ka akustiliselt projitseerida