Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Alter -egomme - keltainen säiliö
- Vaihe 2: Tuo viholliset esiin
- Vaihe 3: 42 Peli
- Vaihe 4: Loputon peli ja parannukset
Video: Battle City Remake GameGossa Makecode Arcadella: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
GameGo on Microsoft Makecode -yhteensopiva kannettava retro -pelikonsoli, jonka on kehittänyt TinkerGen STEM -opetus. Se perustuu STM32F401RET6 ARM Cortex M4 -siruun ja on tarkoitettu STEM -opettajille tai vain ihmisille, jotka haluavat pitää hauskaa retro -videopelien luomisessa. Voit seurata tätä opetusohjelmaa ja kokeilla peliä Makecode Arcade -simulaattorissa ja suorittaa sen sitten GameGolla.
Tässä artikkelissa aiomme kokeilla kättämme klassisen Battle City -säiliöpelin luomiseksi, jonka Namco on alun perin tuottanut ja julkaissut vuonna 1985 Nintendo Entertainment Systemille (NES). Alkuperäisessä pelissä pelaaja ohjaa säiliötä ja ampuu ammuksia tuhotakseen vihollisen tankit. Vihollisen tankit yrittävät tuhota pelaajan tukikohdan sekä pelaajan säiliön. Teemme joitakin muutoksia peliin, jotta voimme paremmin vastata lohko -ohjelmointikäytäntöihin GameGon avulla, mutta uusintamme säilyttää silti paljon samankaltaisuutta alkuperäiseen peliin. Aloitetaanpa!
Tarvikkeet
GameGo
Vaihe 1: Alter -egomme - keltainen säiliö
Avaa Makecode Arcade osoitteessa https://arcade.makecode.com/ ja napsauta uutta projektia. Aloitamme tehdä alter-egostamme keltaisen säiliön. Valitse Aseta mySprite sprite -tyyppiselle pelaajalohkolle ja piirrä keltainen säiliö ylöspäin aloitus spriteksi, aseta lohko aloituslohkon sisään. Lisää siirrä mySprite painikkeilla. Nyt meillä on säiliö, jota voimme siirtää painikkeilla simulaatiossa! Hienoa, mutta se on aina samaan suuntaan, vaikka liikumme alas tai sivuttain …
Korjaa tämä lisäämällä vielä neljä lohkoa, yksi kullekin suuntapainikkeelle. Luo uusi muuttuja, nimeltään suunta - tallennamme säiliön liikesuunnan siihen, 100 vastaa alaspäin, -100 vastaa ylöspäin, 200 oikealle ja -200 vasemmalle. Miksi nämä numerot? Näet myöhemmin, kun lisäämme ammuksia, jotka säiliömme laukaisee. Näiden neljän lohkon logiikka on hyvin yksinkertainen - tarkistamme, onko uusi suunta (painikkeen painalluksesta) sama kuin ennen. Jos on, emme periaatteessa tee muutoksia. Jos näin ei ole, vaihdamme säiliön spriteä ja käännämme alas- ja vasemmanpuoleisen suunnan, jotta vältetään ylimääräisten spritejen vetäminen. Määritetään lopuksi suunnan lähtöarvoksi -100 (säiliö ylöspäin), koska tankkimme aloittaa pelin. Kokeile siirtää keltaista säiliötä nyt, sprite muuttuu liikesuunnan mukaan nyt! Hienoa, lisätään nyt luodit.
Me ammumme luoteja asetetulla ammusella ammukselle (piirrä pieni hopeaneliö sille spriteille) mySpritestä vx vy nopeuksilla. Painikkeen A painetun lohkon sisällä meidän on tarkistettava suunnan absoluuttinen arvo nähdäksemme, onko keltainen säiliö ylös/alas vasemmalta/oikealta. Sitten jatkamme ammuksen suunnanmuutoksen nopeuden muuttujaa -siksi meillä oli -100/100/-200/200 suunta -arvoille.
Nyt meillä on keltainen säiliö, joka voi ampua ammuksia ja liikkua. Jos keltaisilla simuloiduilla säiliöillä olisi tunne, se tuntuisi varmasti yksinäiseltä tässä tyhjässä tyhjiössä ilman vihollisia ja tekemistä. Joten seuraavaan vaiheeseen lisätään vihollisia, jotta se kuluttaa aikaa.
Vaihe 2: Tuo viholliset esiin
Aloitamme tämän vaiheen luomalla joukon uusia muuttujia: kaksi matriisia (toinen vihollisen spriteiden pitämiseksi ja toinen vihollisen suuntojen pitämiseksi), kutuaika -muuttuja kutujen välisen ajan tallennukseen, vihollisten määrä enimmäismäärän vihollisten tallentamiseen samaan aikaan. Lisäämme myös kaksi ammusta (ammuksen ja vihollisen ammuksen), jotka laukaisevat aloituslohkoon - tämä auttaa meitä välttämään virheen myöhemmin.
Seuraavaksi luomme pelipäivityksessä joka… ms -lohkon, lisää spawn_time -muuttuja sinne. Lohkon sisällä oleva logiikka on yksinkertainen - jos taistelukentän vihollisien kokonaismäärä on pienempi kuin sallittu vihollismäärä, lisää vihollinen vihollinen_luottamuslistaan ja lisää 200 (oikeaan suuntaan) viholliselle.
Seuraavaksi lisäämme luodussa sprite of kind Enemy -lohkossa joitain graafisia tehosteita, aseta se satunnaiseen tyhjään ruutuun ja kutsu pick_direction -funktio tälle spriteille. Kun vihollinen osuu seinään, kutsumme samaa toimintoa pick_direction.
Mitä tuossa toiminnossa on? Tässä asiat alkavat muuttua hieman monimutkaisiksi, joten odota. On 50 prosentin mahdollisuus vihollisen säiliön nousemiseen ja 50 prosentin laskuun - muutamme spriteä vastaavasti. Ainoa temppu tässä on, että meidän on myös muutettava arvoa, joka vastaa vihollisen panssarivaunua vihjeen_suunnat_luettelossa, uuteen suuntaan, jotta saisimme sen ampumaan luoteja oikeaan suuntaan. Tätä varten löydämme vihollisen sprite -indeksin vihollisen_luottamusluettelosta ja muutamme kohteen arvoa vihollinen_suunnat -luettelosta.
Lopuksi lisätään laukaukset. Lisäämme uuden pelipäivityksen 500 ms: n lohkon välein ja lisäämme kohteen kohteelle vihollinen_arvostelulista. 30% todennäköisyydellä vihollisen sprite ampuu vihollisen ammuksen sen liikesuunnassa.
Jos käynnistämme pelin simulaatiossa nyt, voimme nähdä keltaisen säiliömme ja vihollisen panssarimme ilmestyvän samaan kohtaan ja menemään tyhjään tilaan. Me voimme ampua ja he voivat ampua keltaisen säiliömme, mutta mitään ei tapahtuisi. Se tuntuu edelleen niin merkityksettömältä:) Lisätään viimeiseksi vaiheeksi koristeet ja pelimekaniikka.
Vaihe 3: 42 Peli
Aloitamme tämän vaiheen lisäämällä elämää ja pisteitä Info -välilehdeltä ja asettamalla elämäksi 10 ja pisteet nollaan. Sitten lisäämme lohkojoukon karttatiedoston…. Piirrä tiedostokartta näyttääksesi siltä, kuin näet yllä olevassa kuvakaappauksessa. Muista lisätä seinät!
Lisätään sprite of kind -mallista Ammus päällekkäin muiden kanssa. Meidän on varmistettava, että nämä ammukset ovat vihollisen luoteja eivätkä meidän omiamme, joten lisätään, että jos lohkon sisällä oleva ehto ja jos se arvioidaan tosiksi, vähennämme yhden elämästä. Samankaltaisesti, toisessa lohkossa, joka on sellaisesta huolimatta, ammukset ovat päällekkäisiä muiden luonteenomaisten vihollisten kanssa, varmistamme, että ammukset ovat keltaisen säiliön ammuksia, ja jos tämä ehto on totta, tuhoamme otherprprite (vihollisen säiliö), poistamme sen luettelosta vihollisen_luottamusluettelosta ja lisää yksi pisteytykseen.
Viimeinen asia on voitto- ja tappio -olosuhteet - voittoa varten tarkistamme, onko pisteet korkeammat tai yhtä suuret kuin 10 ikuisessa lohkossa. Jos on, näytämme voitonäytön. Ja elämän nollan lohkossa näytämme Game Over -näytön.
Kokeile nyt simulaatiossa nähdäksesi, toimiiko peli odotetulla tavalla. Lataa se sitten GameGoon ja nauti vihollisen panssarien murskaamisesta!
Vaihe 4: Loputon peli ja parannukset
GitHub -arkistostamme voit ladata kaksi tiedostoa Makecode -pelihallille - toinen on täsmälleen sama, jonka saisit, jos noudatat tätä ohjeistusta, ja toinen on päivitetty versio, joka on luonut satunnaisesti tason etenemisen. Siinä on 10 tasoa, joista jokainen luodaan satunnaisesti ja lisää vihollisia jokaisella peräkkäisellä tasolla.
Ja tietysti on vielä enemmän asioita, joita sinä tai oppilaasi voivat lisätä peliin! Siellä on parempi musiikki, murtuvat seinät, erilaiset voitto -olosuhteet ja niin edelleen!
Jos teet parannetun version pelistä, jaa se alla oleviin kommentteihin! Lisätietoja GameGosta ja muista laitteista valmistajille ja STEM -opettajille käy verkkosivustollamme https://tinkergen.com/ ja tilaa blogimme.
TinkerGen on aloittanut Kickstarter -kampanjan MARKille (Make A Robot Kit), joka on robottipaketti koodauksen, robotiikan ja tekoälyn opettamiseen!
Suositeltava:
(Moninpeli) Taistelu GameGolla Makecode Arcadella: 6 vaihetta
(Moninpeli) Taistelu GameGolla Makecode Arcadella: GameGo on Microsoft Makecode -yhteensopiva kannettava retro -pelikonsoli, jonka on kehittänyt TinkerGen STEM -opetus. Se perustuu STM32F401RET6 ARM Cortex M4 -piiriin ja tehty STEM -opettajille tai vain ihmisille, jotka haluavat pitää hauskaa luodessaan retrovideota
Hyppely, jossa on äärettömät tasot GameGossa Makecode Arcadella: 5 vaihetta (kuvilla)
Hyökkääjä, jolla on äärettömät tasot GameGolla Makecode Arcadella: GameGo on Microsoft Makecode -yhteensopiva kannettava retro -pelikonsoli, jonka on kehittänyt TinkerGen STEM -opetus. Se perustuu STM32F401RET6 ARM Cortex M4 -siruun ja tehty STEM -opettajille tai vain ihmisille, jotka haluavat pitää hauskaa luodessaan retro -videopeliä
Kuinka tutkia koronaa tuhoamatta kannettavaa tietokonettasi (REMAKE): 8 vaihetta
Kuinka tutkia koronaa tuhoamatta kannettavaa tietokonettasi (REMAKE): Ei enää ruma kuvakaappauksia. Ei enää anime -tyttöä FabyRM: ltä. Tämä asia on nyt luettavissa. Paranna maailma, paranna korona. Tehdä uudelleen!? KYLLÄ !!!!!!!!!!!!!!!!!!!!!!!!!! ?????? Ryhdy tiedemieheksi olematta tiedemies digitaalisen noituuden voimalla! Simu
DIY Mario Kart Balloon Battle Robots: 4 vaihetta (kuvilla)
DIY Mario Kart Balloon Battle Robots: Joissakin projekteissa teet toiminnallisen tai käytännöllisen asian. On joitain projekteja, joissa teet kauniin asian. Ja sitten on tällaisia projekteja, joissa päätät lyödä partaveitsiä ja ilmapalloa joihinkin robotteihin ja taistella
Night City Skyline LED -seinävalaisin: 6 vaihetta (kuvilla)
Night City Skyline LED -seinävalaisin: Tässä ohjeessa kuvataan, kuinka rakensin koristeellisen seinävalaisimen. Ajatuksena on yöllinen kaupungin horisontti, jossa rakennuksissa on valaistuja ikkunoita. Lamppu on toteutettu puoliläpinäkyvällä sinisellä pleksilasipaneelilla, jonka rakennussiluetit on maalattu