Satura rādītājs:
- Piegādes
- 1. solis: mūsu Alter -ego - dzeltenā tvertne
- 2. solis: izvediet ienaidniekus
- 3. solis: spēles 42
- 4. solis: nebeidzama spēle un uzlabojumi
Video: Battle City pārtaisīšana GameGo ar Makecode Arcade: 4 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
GameGo ir ar Microsoft Makecode saderīga pārnēsājama spēļu konsole, ko izstrādājusi TinkerGen STEM izglītība. Tā pamatā ir mikroshēma STM32F401RET6 ARM Cortex M4 un paredzēta STEM pedagogiem vai vienkārši cilvēkiem, kuriem patīk izklaidēties, veidojot retro videospēles. Jūs varat sekot šai apmācībai un izmēģināt spēli Makecode Arcade simulatorā un pēc tam palaist to vietnē GameGo.
Šajā rakstā mēs izmēģināsim spēkus, lai atjaunotu klasisku Battle City tanku šāvēja spēli, kuru sākotnēji 1985. gadā izveidoja un publicēja Namco Nintendo Entertainment System (NES). Sākotnējā spēlē spēlētājs kontrolē tanku un šauj lādiņus, lai iznīcinātu ienaidnieka tankus. Ienaidnieka tanki mēģina iznīcināt spēlētāja bāzi, kā arī pašu spēlētāja tanku. Mēs veiksim dažas izmaiņas spēlē, lai labāk pielāgotu bloka programmēšanas praksi, izmantojot GameGo, taču mūsu pārtaisījums joprojām saglabās daudz līdzības ar sākotnējo spēli. Sāksim!
Piegādes
GameGo
1. solis: mūsu Alter -ego - dzeltenā tvertne
Atveriet Makecode Arcade vietnē https://arcade.makecode.com/ un noklikšķiniet uz jauna projekta. Mēs sāksim padarīt savu alter-ego par dzelteno tvertni. Izvēlieties Set mySprite to sprite of kind player block un uzzīmējiet dzelteno tvertni, kas vērsta uz augšu, kā mūsu sākuma sprite, ielieciet šo bloku sākuma bloka iekšpusē. Pievienot pārvietojiet mySprite ar pogām. Tagad mums ir tvertne, kuru mēs varam pārvietot ar pogām simulācijā! Lieliski, bet tas vienmēr ir vērsts vienā virzienā, pat ja mēs virzāmies lejup vai uz sāniem …
Lai to labotu, pievienosim vēl četrus blokus, vienu katrai virziena pogai. Izveidojiet jaunu mainīgo, ko sauc par virzienu - mēs tajā saglabāsim mūsu tvertnes kustības virzienu, 100 - uz leju, -100 - uz augšu, 200 pa labi un -200 pa kreisi. Kāpēc šie skaitļi? Jūs redzēsit vēlāk, kad pievienosim šāviņus, ka mūsu tvertne darbosies. Loģika katrā no šiem četriem blokiem ir ļoti vienkārša - mēs pārbaudām, vai jauns virziens (no pogas nospiešanas) ir tāds pats kā iepriekšējais virziens. Ja tā ir, mēs principā neveicam nekādas izmaiņas. Ja tā nav, mēs mainām tvertnes sprite un, ja virziens uz leju un pa kreisi, mēs apgriežam sprite attēlu, lai izvairītos no papildu spritu vilkšanas. Visbeidzot, piešķirsim virziena sākuma vērtību -100 (tvertne uz augšu), jo tā mūsu tvertne sāk spēli. Mēģiniet pārvietot dzelteno tvertni tūlīt, sprite mainīsies atbilstoši kustības virzienam! Lieliski, tagad pievienosim lodes.
Mēs izšauksim lodes ar lādiņu uz šāviņu (uzzīmēsim nelielu sudraba kvadrātu šim spritam) no mySprite ar vx vy ātrumu. Ieslēgtās pogas A iekšpusē ir jāpārbauda virziena absolūtā vērtība, lai redzētu, vai dzeltenā tvertne ir vērsta uz augšu/uz leju no kreisās/labās puses. Pēc tam mēs turpinām izšaut šāviņu ar mainīgā virziena ātrumu -tāpēc mums bija -100/100/-200/200 virziena vērtībām.
Tagad mums ir dzeltena tvertne, kas var izšaut lādiņus un pārvietoties. Ja dzeltenās simulētās tvertnes varētu izjust, tas noteikti justos vientuļš šajā tukšajā tukšumā bez ienaidniekiem un darāmām lietām. Tātad, nākamajam solim pievienosim ienaidniekus, lai tas pavadītu laiku.
2. solis: izvediet ienaidniekus
Mēs sāksim šo darbību, izveidojot virkni jaunu mainīgo: divus masīvus (vienu ienaidnieka spritu turēšanai un otru ienaidnieka virzienu turēšanai), nārsta laika mainīgo laika perioda saglabāšanai starp nārsta vietām, ienaidnieka skaitu maksimālā ienaidnieku skaita saglabāšanai. tajā pašā laikā. Mēs pievienosim arī divus šāviņus (šāviņu un ienaidnieka šāviņu), kas ieslēdzas sākuma blokā - tas mums palīdzēs izvairīties no kļūdas vēlāk.
Tālāk mēs izveidojam spēles atjauninājumu katru… ms bloku, ievietojiet tur mainīgo spawn_time. Bloka loģika ir vienkārša - ja kopējais ienaidnieku skaits kaujas laukā ir mazāks par maksimālo atļauto ienaidnieku skaitu, pievienojiet ienaidnieku ienaidnieka_sprite_listam un pievienojiet 200 (iet pa labi) virzienā šim ienaidniekam.
Tālāk ieslēgtajā ienaidnieka bloka sprintā mēs pievienojam dažus grafiskos efektus, ievietojam to nejauši izvēlētā tukšā flīzē un izsaucam šī sprita funkciju pick_direction. Neraugoties uz to, ka ienaidnieks ietriecas sienā, mēs to pašu funkciju saucam par pick_direction.
Kas ir tajā funkcijā? Šeit lietas sāk kļūt nedaudz sarežģītas, tāpēc pagaidiet. Pastāv 50 procentu iespēja, ka ienaidnieka tanks uzkāps un 50 procenti nolaidīsies - mēs attiecīgi mainām spritu. Vienīgais triks šeit ir tāds, ka mums ir arī jāmaina vērtība, kas atbilst konkrētajai ienaidnieka tvertnei ienaidnieka_virzienu sarakstā, uz jauno virzienu, tāpēc mēs gribētu, lai tā izšautu lodes pareizajā virzienā. Šim nolūkam mēs atrodam ienaidnieka sprite indeksu ienaidnieka_produkta_sarakstā un mainām šī vienuma vērtību ienaidnieka_virzienu sarakstā.
Visbeidzot, pievienosim šāvienus. Mēs pievienojam vēl vienu spēles atjauninājumu ik pēc 500 ms bloķēšanas un ievietojam vienumu ienaidnieka_produktu_sarakstā. Ar 30% iespēju ienaidnieka sprīts apšaudīs ienaidnieka šāviņu tā kustības virzienā.
Ja mēs tagad uzsāksim spēli simulācijā, mēs varam redzēt, kā mūsu dzeltenā tvertne un ienaidnieka tanki parādās tajā pašā vietā un nonāk tukšā telpā. Mēs varam šaut, un viņi var nošaut mūsu dzelteno tanku, bet nekas nenotiktu. Jūtos tik bez jēgas:) Pēdējam solim pievienosim dekorācijas un spēļu mehāniku.
3. solis: spēles 42
Mēs sāksim šo soli, cilnē Informācija pievienojot dzīves vērtību un rezultātu un iestatot dzīves vērtību uz 10 un rezultātu uz nulli. Tad mēs pievienojam bloku kopu flīžu karti…. Uzzīmējiet failu karti, lai tā izskatītos līdzīga iepriekš redzamajā ekrānuzņēmumā. Neaizmirstiet pievienot sienas!
Pievienosim sprite of kind šāviņi pārklājas ar citiemSprite of kind Player - tas ir tad, kad ienaidnieka lodes trāpīja mūsu dzeltenā tvertnē. Mums jāpārliecinās, ka šie šāviņi ir ienaidnieka lodes, nevis mūsu pašu, tāpēc piebildīsim, ka, ja nosacījums blokā un ja tas tiek novērtēts kā Patiess, tad mēs atņemam vienu no dzīvības skaita. Līdzīgi tam, citā blokā uz sava veida lādiņiem pārklājas citiLaišu ienaidnieks, mēs pārliecināmies, ka šāviņš ir lādiņš no dzeltenas tvertnes, un, ja šis nosacījums tiek uzskatīts par patiesu, mēs iznīcinām cituSprite (ienaidnieka tvertne) no ienaidnieka_profila_saraksta un pievienojiet vienu, lai gūtu vārtus.
Pēdējā lieta ir uzvaras un sakāves nosacījumi - lai iegūtu uzvaru, mēs pārbaudīsim, vai rezultāts ir augstāks vai vienāds ar 10 mūžīgajā blokā. Ja tā ir, tad mēs parādām uzvaras ekrānu. Un dzīves nulles blokā mēs parādām ekrānu Game Over.
Tagad izmēģiniet to simulācijā, lai redzētu, vai spēle darbojas, kā paredzēts. Pēc tam augšupielādējiet to GameGo un izbaudiet ienaidnieka tanku sagraušanu!
4. solis: nebeidzama spēle un uzlabojumi
Mūsu GitHub krātuvē jūs varat lejupielādēt divus Makecode arkādes failus - viens ir tieši tāds pats, kādu jūs iegūtu, ja izpildītu šo pamācību, bet otrs ir jaunināta versija, kurai ir nejauši ģenerēta līmeņa progresija. Tam ir 10 līmeņi, katrs no tiem tiek ģenerēts nejauši, palielinot ienaidnieku skaitu katrā nākamajā līmenī.
Un, protams, ir vēl vairāk lietu, ko jūs vai jūsu studenti var pievienot spēlei! Tur ir labāka mūzika, salaužamas sienas, dažādi uzvaras nosacījumi un tā tālāk!
Ja jūs izveidojat uzlabotu spēles versiju, kopīgojiet to komentāros zemāk! Lai iegūtu vairāk informācijas par GameGo un citu aparatūru ražotājiem un STEM pedagogiem, apmeklējiet mūsu vietni https://tinkergen.com/ un abonējiet mūsu emuāru.
TinkerGen ir uzsācis Kickstarter kampaņu MARK (Make A Robot Kit), robotu komplekts kodēšanas, robotikas, AI mācīšanai!
Ieteicams:
Bubble Bobble Arcade kabinets (Bartop): 14 soļi (ar attēliem)
Bubble Bobble Arcade Cabinet (Bartop): Vēl viens skapja veidošanas ceļvedis? Nu, es izveidoju savu skapi, galvenokārt kā Galactic Starcade kā veidni, bet es veicu dažas izmaiņas, kad es gāju garām, un, manuprāt, uzlaboju abus dažu detaļu uzstādīšanas vieglums un estētikas uzlabošana
(Multiplayer) Cīņa GameGo ar Makecode Arcade: 6 soļi
(Multiplayer) Cīņa ar GameGo ar Makecode Arcade: GameGo ir ar Microsoft Makecode saderīga retro spēļu pārnēsājama konsole, ko izstrādājusi TinkerGen STEM izglītība. Tas ir balstīts uz STM32F401RET6 ARM Cortex M4 mikroshēmu un paredzēts STEM pedagogiem vai vienkārši cilvēkiem, kuriem patīk izklaidēties, veidojot retro video ga
Platformētājs ar bezgalīgiem līmeņiem GameGo ar Makecode Arcade: 5 soļi (ar attēliem)
Platformētājs ar bezgalīgiem līmeņiem GameGo ar Makecode Arcade: GameGo ir ar Microsoft Makecode saderīga, pārnēsājama spēļu spēļu konsole, ko izstrādājusi TinkerGen STEM izglītība. Tā pamatā ir mikroshēma STM32F401RET6 ARM Cortex M4 un paredzēta STEM pedagogiem vai vienkārši cilvēkiem, kuriem patīk izklaidēties, veidojot retro videospēles
Neiroboti Battle Royale: Muskuļu kontrolētas kaujas hexbugs: 7 soļi
Neiroboti Battle Royale: Muskuļu kontrolētas kaujas heksbugs: šī apmācība parāda, kā izmantot EMG datus, kas tiek straumēti caur OpenBCI aparatūru un OpenBCI GUI, lai kontrolētu Hexbug darbības. Šo hexbugs kaujas spējas var kontrolēt ar savu muskuļu ieguldījumu, un jūs varēsit iesaistīties
Night City Skyline LED sienas lampa: 6 soļi (ar attēliem)
Night City Skyline LED sienas lampa: šajā pamācībā aprakstīts, kā es uzbūvēju dekoratīvu sienas lampu. Ideja ir tāda, ka nakts pilsētas panorāmā ir daži apgaismoti logi ēkās. Lampa ir izgatavota ar daļēji caurspīdīgu zilu organiskā stikla paneli ar ēkas siluetiem, kas krāsoti