Sisällysluettelo:

Battle City Remake GameGossa Makecode Arcadella: 4 vaihetta (kuvilla)
Battle City Remake GameGossa Makecode Arcadella: 4 vaihetta (kuvilla)

Video: Battle City Remake GameGossa Makecode Arcadella: 4 vaihetta (kuvilla)

Video: Battle City Remake GameGossa Makecode Arcadella: 4 vaihetta (kuvilla)
Video: Battle City Remake (PC) | Беглый взгляд 2024, Marraskuu
Anonim
Image
Image

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ö

Meidän Alter -ego - keltainen säiliö
Meidän Alter -ego - 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

Tuo viholliset esiin
Tuo viholliset esiin
Tuo viholliset esiin
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

Pelin 42
Pelin 42
Pelin 42
Pelin 42
Pelin 42
Pelin 42

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

Loputon peli ja parannuksia
Loputon peli ja parannuksia

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: