Sadržaj:
- Supplies
- Korak 1: Naš Alter -ego - Žuti tenk
- Korak 2: Izvedite neprijatelje
- Korak 3: 42 igre
- Korak 4: Beskrajna igra i poboljšanja
Video: Remake Battle City na GameGo -u sa Makecode Arcade: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
GameGo je retro prijenosna igraća konzola kompatibilna sa Microsoft Makecode -om, koju je razvilo TinkerGen STEM obrazovanje. Zasnovan je na STM32F401RET6 ARM Cortex M4 čipu i napravljen je za STEM edukatore ili samo ljude koji se vole zabavljati stvarajući retro video igre. Možete slijediti ovaj vodič i isprobati igru u Makecode Arcade simulatoru, a zatim je pokrenuti na GameGo -u.
U ovom ćemo se članku okušati u stvaranju klasične tenkovske pucačke igre Battle City, koju je Namco originalno proizveo i objavio 1985. za Nintendo Entertainment System (NES). U originalnoj igri igrač kontrolira tenk i puca projektilima kako bi uništio neprijateljske tenkove. Neprijateljski tenkovi pokušavaju uništiti bazu igrača, kao i sam tenk igrača. Napravit ćemo neke izmjene u igri kako bismo bolje prilagodili prakse programiranja blokova s GameGo -om, ali naš remake će i dalje zadržati dosta sličnosti s originalnom igrom. Počnimo!
Supplies
GameGo
Korak 1: Naš Alter -ego - Žuti tenk
Otvorite Makecode Arcade na https://arcade.makecode.com/ i kliknite na novi projekt. Započet ću s izradom našeg alter-ega u žutom tenku. Odaberite Set mySprite to sprite of block of kind player i nacrtajte žuti spremnik okrenut prema gore kao naš početni sprite, stavite taj blok unutar početnog bloka. Dodaj move mySprite sa blokovima dugmadi. Sada imamo spremnik koji možemo pomicati pomoću gumba u simulaciji! Odlično, ali uvijek je okrenuto u istom smjeru, čak i kad se krećemo prema dolje ili bočno …
Da bismo to ispravili, dodajmo još četiri bloka, po jedan za svako dugme smjera. Kreirajte novu varijablu, koja se naziva smjer - u njoj ćemo spremiti smjer kretanja našeg spremnika, 100 će odgovarati dolje, -100 će odgovarati gore, 200 za desnu i -200 za lijevu. Zašto ovi brojevi? Vidjet ćete kasnije, kad dodamo projektile da će naš tenk ispaliti. Logika unutar svaka četiri bloka je vrlo jednostavna - provjeravamo je li novi smjer (pritiskom na tipku) isti kao i prethodni. Ako jeste, u osnovi ne radimo nikakve promjene. Ako nije, mijenjamo sprite spremnika, a u slučaju smjera prema dolje i ulijevo okrećemo sliku spritea kako bismo izbjegli crtanje dodatnih sprajtova. Konačno, dodijelimo početnu vrijednost smjera na -100 (tenk prema gore), jer naš tenk ovako započinje igru. Pokušajte sada premjestiti žuti spremnik, sprajt će se sada promijeniti prema smjeru kretanja! Odlično, sada dodajmo metke.
Ispaljivat ćemo metke sa postavljenim projektilom na projektil (izvući mali srebrni kvadrat za taj sprite) iz mySprite -a sa vx vy brzinama. Unutar dugmeta za uključivanje Pritisnuti blok, moramo provjeriti apsolutnu vrijednost smjera da vidimo je li žuti spremnik okrenut gore/dolje lijevo/desno. Zatim nastavljamo ispaljivati projektil s promjenljivom brzinom smjera -zato smo imali -100/100/-200/200 za vrijednosti smjera.
Sada imamo žuti tenk koji može ispaljivati projektile i kretati se. Da su žuti simulirani tenkovi mogli imati osjećaj, sigurno bi se osjećao usamljeno u ovoj praznoj praznini bez neprijatelja i stvari za obaviti. Dakle, za sljedeći korak dodajmo neprijatelje da prođe vrijeme.
Korak 2: Izvedite neprijatelje
Ovaj korak započinjemo stvaranjem gomile novih varijabli: dva niza (jedan za držanje neprijateljskih sprajtova i drugi za držanje neprijateljskih pravaca), vremenska varijabla mrijesta za spremanje vremenskog razdoblja između mrijesta, broj neprijatelja za pohranu maksimalnog broja neprijatelja u isto vrijeme. Također ćemo dodati dva projektila (projektil i neprijateljski projektil) koji ispaljuju na početni blok - što će nam pomoći da kasnije izbjegnemo grešku.
Zatim kreiramo ažuriranje igre svaki… ms blok, ubacimo varijablu spawn_time. Logika unutar bloka je jednostavna - ako je ukupan broj neprijatelja na bojnom polju manji od maksimalno dozvoljenog broja neprijatelja, dodajte neprijatelja na neprijateljsku_sprite_listu i dodajte 200 (ide desno) za tog neprijatelja.
Zatim u stvoreni sprite vrste neprijateljskog bloka dodajemo neke grafičke efekte, postavljamo ih na slučajnu praznu pločicu i pozivamo funkciju pick_direction za ovaj sprite. U sprajtu vrste neprijatelj udara u zid, istu funkciju nazivamo pick_direction.
Šta je u toj funkciji? Ovdje stvari počinju postajati pomalo komplicirane, pa se držite. Postoji 50 posto šanse da se neprijateljski tenk podigne, a 50 posto da se spusti - prema tome mijenjamo sprite. Jedini trik ovdje je da također moramo promijeniti vrijednost koja odgovara tom neprijateljskom tenku na listi neprijateljskih smjerova u novi smjer, kako bismo mogli ispaliti metke u pravom smjeru. Za to pronalazimo indeks neprijateljskog spriteta na listi neprijateljskih sprajtova i mijenjamo vrijednost te stavke na listi neprijateljskih smjerova.
Na kraju, dodajmo i hice ispaljivanja. Dodajemo još jedno ažuriranje igre svakih 500 ms bloka i stavljamo stavku for na neprijateljsku sprite_ listu. Sa 30% šanse neprijateljski duh će ispaliti neprijateljski projektil u smjeru kretanja.
Ako sada pokrenemo igru u simulaciji, možemo vidjeti kako se naši žuti tenkovi i neprijateljski tenkovi pojavljuju u istoj tački i odlaze u prazan prostor. Mi možemo pucati i oni u naš žuti tenk, ali ništa se neće dogoditi. I dalje se osjeća bez smisla:) Dodajmo ukrase i mehaniku igara kao posljednji korak.
Korak 3: 42 igre
Ovaj korak ćemo započeti dodavanjem života i rezultata na kartici Informacije i postavljanjem života na 10, a rezultat na nulu. Zatim dodajemo mapu pločica postavljenih blokova u…. Nacrtajte mapu datoteke da izgleda nešto poput onoga što vidite na gornjoj slici. Ne zaboravite dodati zidove!
Dodajmo sprajtu vrste projektila, projektili se preklapaju s drugim igračima - to je vrijeme kada neprijateljski meci pogađaju naš žuti tenk. Moramo biti sigurni da su ti projektili neprijateljski meci, a ne naši, pa ćemo dodati da ako je stanje unutar bloka i ako se ocijeni kao Tačno, tada oduzimamo jedan od broja života. Slično njemu, u drugom bloku na sprite vrste projektila preklapa se otherSprite of kind Enemy, pazimo da je projektil projektil iz žutog tenka i ako se ovo stanje ocijeni kao True, uništavamo otherSprite (neprijateljski tenk), uklanjamo ga sa liste neprijateljske_sprite_liste i dodajte je da biste postigli gol.
Posljednja stvar su uvjeti pobjede i poraza - za pobjedu ćemo provjeriti je li rezultat veći ili jednak 10 u bloku zauvijek. Ako jeste, tada ćemo prikazati zaslon pobjede. I u nultom bloku života prikazujemo ekran Game Over.
Sada isprobajte simulaciju da vidite radi li igra kako se očekivalo. Zatim ga prenesite na GameGo i uživajte u razbijanju neprijateljskih tenkova!
Korak 4: Beskrajna igra i poboljšanja
U našem spremištu GitHub možete preuzeti dvije datoteke za Makecode arkadu - jedna je potpuno ista koju biste dobili ako slijedite ove upute, a druga je nadograđena verzija koja ima nasumično generiranu progresiju nivoa. Ima 10 nivoa, od kojih je svaki nasumično generiran s povećanim brojem neprijatelja na svakom uzastopnom nivou.
I naravno, postoji još više stvari koje vi ili vaši učenici možete dodati u igru povrh toga! Postoji bolja muzika, lomljivi zidovi, različiti uvjeti pobjede i tako dalje!
Ako ipak napravite poboljšanu verziju igre, podijelite je u komentarima ispod! Za više informacija o GameGo -u i drugom hardveru za proizvođače i STEM edukatore posjetite našu web stranicu, https://tinkergen.com/ i pretplatite se na naš blog.
TinkerGen je započeo Kickstarter kampanju za MARK (Make A Robot Kit), komplet robota za učenje kodiranja, robotike, AI!
Preporučuje se:
(Više igrača) Borba na GameGo -u sa Makecode Arkadom: 6 koraka
(Više igrača) Borba na GameGo -u sa Makecode Arcade: GameGo je retro prijenosna igraća konzola kompatibilna sa Microsoft Makecode -om koju je razvilo TinkerGen STEM obrazovanje. Baziran je na STM32F401RET6 ARM Cortex M4 čipu i napravljen je za STEM edukatore ili samo ljude koji se vole zabaviti stvarajući retro video ga
Platformer sa beskonačnim nivoima na GameGo -u sa Makecode Arcade: 5 koraka (sa slikama)
Platformer sa beskonačnim nivoima na GameGo -u Sa Makecode Arcade: GameGo je retro prenosiva igraća konzola kompatibilna sa Microsoft Makecode -om koju je razvilo TinkerGen STEM obrazovanje. Zasnovan je na STM32F401RET6 ARM Cortex M4 čipu i napravljen je za STEM edukatore ili samo ljude koji se vole zabavljati stvarajući retro video igre
Green City - Interaktivni zid: 6 koraka
Green City - Interaktivni zid: Projekt Green City imao je za cilj istražiti pitanje obnovljivih izvora energije, koje su toliko važne u kontekstu energije i sprječavanja iscrpljivanja prirodnih resursa, kako bi se na neki način podigla svijest o ovom pitanju . Takođe želimo
Uradi sam Mario Kart Balloon Battle Roboti: 4 koraka (sa slikama)
Uradi sam Mario Kart Balloon Battle Robots: Postoje neki projekti u kojima napravite funkcionalnu ili praktičnu stvar. Postoje neki projekti u kojima napravite lijepu stvar. A tu su i projekti poput ovog u kojima odlučujete udariti britvicom i balonom na neke robote i boriti se
LED zidna svjetiljka Night City Skyline: 6 koraka (sa slikama)
Night City Skyline LED zidna lampa: Ovo uputstvo opisuje kako sam izgradio dekorativnu zidnu lampu. Ideja je da se vidi noćni gradski horizont, s nekoliko osvijetljenih prozora u zgradama. Svjetiljka je realizirana poluprozirnom plavom pločom od pleksiglasa sa građevinskim silosima obojenim u