Kazalo:
- Zaloge
- 1. korak: Naš Alter -ego - rumeni tank
- 2. korak: Iznesite sovražnike
- 3. korak: 42 igre
- 4. korak: Neskončna igra in izboljšave
Video: Remake Battle City na GameGo with Makecode Arcade: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
GameGo je retro prenosna igralna konzola, združljiva z Microsoft Makecode, ki jo je razvilo izobraževalno podjetje TinkerGen STEM. Temelji na čipu STM32F401RET6 ARM Cortex M4 in je namenjen učiteljem STEM ali samo ljudem, ki se radi zabavajo pri ustvarjanju retro video iger. Sledite tej vadnici in preizkusite igro v simulatorju Makecode Arcade, nato pa jo zaženite na GameGo.
V tem članku se bomo preizkusili v poustvarjanju klasične tankerske strelske igre Battle City, ki jo je Namco prvotno izdelal in izdal leta 1985 za Nintendo Entertainment System (NES). V prvotni igri igralec nadzoruje tank in strelja s projektili, da uniči sovražnikove tanke. Sovražnikovi tanki poskušajo uničiti igralčevo bazo, pa tudi sam igralčev tank. V igro bomo naredili nekaj sprememb, da bi bolje prilagodili prakse programiranja blokov z GameGo, vendar bo naš remake še vedno ohranil veliko podobnosti s prvotno igro. Začnimo!
Zaloge
GameGo
1. korak: Naš Alter -ego - rumeni tank
Odprite Makecode Arcade na naslovu https://arcade.makecode.com/ in kliknite na nov projekt. Začeli bomo z izdelavo našega alter-ega za rumeni tank. Izberite Set mySprite to sprite of kind player block in narišite rumeni rezervoar navzgor kot naš začetni sprite, postavite ta blok znotraj začetnega bloka. Dodaj premakni mySprite z blokom gumbov. Zdaj imamo rezervoar, ki ga lahko premikamo z gumbi v simulaciji! Odlično, vendar je vedno obrnjeno v isto smer, tudi ko se premikamo navzdol ali vstran …
Če želimo to popraviti, dodajmo še štiri bloke, po enega za vsak gumb za smer. Ustvarimo novo spremenljivko, imenovano smer - vanjo bomo shranili smer gibanja našega rezervoarja, 100 bo ustrezalo navzdol, -100 bo ustrezalo gor, 200 za desno in -200 za levo. Zakaj te številke? Kasneje boste videli, ko bomo dodali izstrelke, ki jih bo izstrelil naš tank. Logika v vsakem od teh štirih blokov je zelo preprosta - preverimo, ali je nova smer (s pritiskom na gumb) enaka kot prej. Če je tako, v bistvu ne naredimo nobenih sprememb. Če ne, spremenimo sprite rezervoarja, v primeru smeri navzdol in levo pa obrnemo sliko sprite, da se izognemo risanju dodatnih sprajtov. Na koncu dodelimo začetno vrednost smeri -100 (tank navzgor), saj tako naš tank začne igro. Poskusite premakniti rumeni rezervoar zdaj, spraj se bo spremenil glede na smer gibanja! Odlično, zdaj dodajmo krogle.
Iz strelca mySprite bomo izstrelili naboje z nastavljenim izstrelkom (za ta sprite narišite majhen srebrni kvadrat) s hitrostmi vx vy. Znotraj gumba za vklop Pritisnjeni blok moramo preveriti absolutno vrednost smeri, da vidimo, ali je rumeni rezervoar obrnjen navzgor/navzdol levo/desno. Nato nadaljujemo s streljanjem izstrelka s spremenljivko hitrosti smeri -zato smo imeli za vrednosti smeri -100/100/-200/200.
Zdaj imamo rumeni tank, ki lahko izstreli izstrelke in se premika. Če bi imeli rumeni simulirani tanki občutek, bi se zagotovo počutil osamljeno v tej praznini brez sovražnikov in stvari za početi. Torej, za naslednji korak dodajmo sovražnike, da bo minil čas.
2. korak: Iznesite sovražnike
Ta korak bomo začeli z ustvarjanjem kopice novih spremenljivk: dveh nizov (ena za zadrževanje sovražnikovih spritov in druga za zadrževanje sovražnikovih smeri), časovno spremenljivko za shranjevanje časovnega obdobja med drsti, število sovražnikov za shranjevanje največjega števila sovražnikov ob istem času. Dodali bomo tudi dva izstrelka (izstrelek in sovražni izstrelek), ki streljata na začetni blok - to nam bo pomagalo, da se kasneje izognemo napaki.
Nato ob posodobitvi igre ustvarimo vsak… ms blok, vstavimo spremenljivko spawn_time. Logika znotraj bloka je preprosta - če je skupno število sovražnikov na bojišču manjše od največjega dovoljenega števila sovražnikov, dodajte sovražnika na neprijateljski_sprite_list in dodajte 200 (gre desno) smer za tega sovražnika.
Nato v ustvarjen sprite vrste Enemy bloka dodamo nekaj grafičnih učinkov, ga postavimo na naključno prazno ploščico in za ta sprite pokličemo funkcijo pick_direction. V takšnem duhu, kot sovražnik zadene steno, imenujemo isto funkcijo, pick_direction.
Kaj je v tej funkciji? Tu se stvari začnejo nekoliko zapletati, zato držite se. Obstaja 50 -odstotna možnost, da se sovražnikov tank dvigne, 50 -odstotni pa navzdol - temu ustrezno spremenimo duh. Edini trik je v tem, da moramo tudi spremeniti vrednost, ki ustreza temu sovražnikovemu tanku v neprijateljski_directions_list, v njegovo novo smer, tako da bomo sprožili krogle v pravo smer. Za to poiščemo indeks sovražnikovega spriteta na sovražnikovem sprite_list in spremenimo vrednost tega elementa na seznamu sovražnikovih usmeritev.
Na koncu dodajmo še strele. Na vsakih 500 ms blokov dodamo novo posodobitev igre in postavimo element for na sovražnikov_sprite_list. Z 30 -odstotno možnostjo bo sovražni duh izstrelil sovražni izstrelek v smeri njegovega gibanja.
Če igro zaženemo v simulaciji, lahko vidimo, da se naš rumeni tank in sovražnikovi tanki pojavljajo na isti točki in gredo v prazen prostor. Lahko streljamo in oni lahko streljajo v naš rumeni tank, vendar se ne bi nič zgodilo. Še vedno se zdi tako brez pomena:) Dodajmo okrasje in mehaniko iger kot zadnji korak.
3. korak: 42 igre
Ta korak bomo začeli tako, da na zavihku Info dodamo življenje in rezultat ter nastavimo življenje na 10 in rezultat na nič. Nato dodamo zemljevid ploščic blokov v…. Narišite zemljevid datotek, da bo videti tako, kot vidite na zgornjem posnetku zaslona. Ne pozabite dodati sten!
Naj dodamo prijazen duh Projektil se prekriva z drugim Sprite of kind Player - takrat sovražnikove krogle zadenejo naš rumeni tank. Prepričati se moramo, da so ti izstrelki sovražnikove krogle in ne naše lastne, zato bomo dodali, da če je stanje znotraj bloka in če je ocenjeno kot True, potem odštejemo enega od števila življenj. Podobno kot v drugem bloku na sprite vrste Projektil prekriva otherSprite of kind Enemy, poskrbimo, da je izstrelek izstrelek iz rumenega tanka, in če je ta pogoj ocenjen kot True, uničimo otherSprite (sovražnikov tank) in ga odstranimo s seznama of neprijateljski sprite_list in dodajte enega za rezultat.
Zadnja stvar so pogoji zmage in poraza - za zmago bomo preverili, ali je rezultat v bloku za vedno višji ali enak 10. Če je, potem prikažemo zaslon zmage. V bloku življenja zero block prikažemo zaslon Game Over.
Zdaj poskusite v simulaciji in preverite, ali igra teče po pričakovanjih. Nato ga naložite v GameGo in uživajte v razbijanju sovražnikovih tankov!
4. korak: Neskončna igra in izboljšave
V našem skladišču GitHub lahko naložite dve datoteki za arkado Makecode - ena je popolnoma enaka, kot bi jo dobili, če sledite tem navodilom, druga pa je nadgrajena različica, ki ima naključno generirano napredovanje ravni. Ima 10 stopenj, od katerih je vsaka naključno ustvarjena s povečanim številom sovražnikov na vsaki naslednji ravni.
In seveda je še nekaj, kar lahko vi ali vaši študentje dodate k igri! Tam je boljša glasba, lomljive stene, drugačni pogoji zmage in tako naprej!
Če naredite izboljšano različico igre, jo delite v spodnjih komentarjih! Za več informacij o GameGo in drugi strojni opremi za ustvarjalce in učitelje STEM obiščite našo spletno stran https://tinkergen.com/ in se naročite na naš blog.
TinkerGen je začel kampanjo Kickstarter za MARK (Make A Robot Kit), komplet robotov za poučevanje kodiranja, robotike, AI!
Priporočena:
(Več igralcev) Boj na GameGo z Makecode Arcade: 6 korakov
(Več igralcev) Boj proti GameGu z Makecode Arcade: GameGo je prenosna igralna konzola za retro igre, združljiva z Microsoft Makecode, ki jo je razvilo izobraževanje TinkerGen STEM. Temelji na čipu STM32F401RET6 ARM Cortex M4 in je namenjen učiteljem STEM ali samo ljudem, ki se radi zabavajo pri ustvarjanju retro video ga
Platformer z neskončnimi ravnmi na GameGo z Makecode Arcade: 5 korakov (s slikami)
Platformer z neskončnimi ravnmi na GameGo z Makecode Arcade: GameGo je prenosna igralna konzola za retro igre, združljiva z Microsoft Makecode, ki jo je razvilo izobraževanje TINkerGen STEM. Temelji na čipu STM32F401RET6 ARM Cortex M4 in je namenjen učiteljem STEM ali samo ljudem, ki se radi zabavajo pri ustvarjanju retro video iger
Ustvarite lastne dvoboje za uporabo v Battle Areni: 4 koraki
Ustvarite svoje diskovne dvoboje za uporabo v Battle Areni: Vedno sem bil napol navdušen nad dvobojnimi diski iz serije risank Yugioh. Kako kul bi bilo poklicati bitje z uporabo špika kart in ga potem dati na neko holografsko bojno prizorišče? Tukaj bom šel čez h
DIY Mario Kart Balloon Battle Roboti: 4 koraki (s slikami)
DIY Mario Kart Balloon Battle Robots: Obstaja nekaj projektov, kjer naredite funkcionalno ali praktično stvar. Obstaja nekaj projektov, kjer narediš lepo stvar. In potem obstajajo projekti, kot je ta, kjer se odločite udariti britvico in balon na nekaj robotov in se boriti
LED stenska svetilka Night City Skyline: 6 korakov (s slikami)
LED stenska svetilka Night City Skyline: Ta navodila opisujejo, kako sem zgradil dekorativno stensko svetilko. Ideja je o obzorju nočnega mesta z nekaj osvetljenimi okni v stavbah. Svetilka je izvedena s polprozorno modro ploščo iz pleksi stekla z gradbenimi silosmi, pobarvanimi v