Sisukord:
- Tarvikud
- 1. samm: funktsioonide Start ja Round_setup funktsioonid
- 2. samm: mängu voog
- Samm: mäng 1: AI vastane
- Samm 4: Mäng 2: Simulaatori mitme mängijaga mäng
- Samm: mäng 3: Jacdaci mitme mängijaga mäng
- Samm: laske Cthulhu lahingul alata
Video: (Mitmikmäng) GameGo võitlus Makecode Arcade'iga: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
GameGo on Microsofti Makecode'iga ühilduv kaasaskantav retro -mängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i koolitajatele või lihtsalt inimestele, kellele meeldib lõbutseda retro -videomängude loomisel. Saate järgida seda õpetust ja proovida mängu Makecode Arcade'i simulaatoris ning seejärel käivitada see GameGo -s.
Enne avaldatud artiklites proovisime juba kätt platvormimängu ja Battle City Remake'i tegemisel. Seekord tahtsin kasutada Jacdaci liidest kahe GameGo ühendamiseks ja võimaldada mängijatel võidelda ülimuslikkuse eest mitme mängijaga võitlejamängus. Kahjuks avastasin, et plokkide programmeerimine Jacdaci mitme mängija jaoks on praeguse seisuga beetaversioonis ja sellel on mõningaid vigu - lihtsamaid mänge on veel võimalik teha, kuid minu võitlusmängule pole õnne. Niisiis avaldan selles juhendavas mängus kolm versiooni (mida ma nimetasin "Cthulhu Combatiks":))
- ühe mängija versioon lihtsa AI vastasega
- mitme mängijaga versioon, mida saab mängida Arcade'i simulatsioonis
- mitme mängija versioon koos Jacdaciga (mittetäielik, värskendatakse hiljem)
Tarvikud
GameGo
Microsoft Makecode Arcade
1. samm: funktsioonide Start ja Round_setup funktsioonid
Kirjeldan üksikasjalikult ühe mängijaga mängu kodeerimist ja seejärel arutame järgmistes sammudes, kuidas seda muuta
a) mitme mängijaga simulaator
b) Jacdaci mitme mängijaga mäng.
Alustame plaatide kaardi seadistamisega tumedale koopale ning spritide loomisega mängijale ja tehisintellekti botile - mõlemad kuuluvad siiski Player -tüüpi. Seadsime nende y -telje kiirenduseks 600 - et nad pärast hüppamist ei lendaks. Enne funktsiooni round_setup helistamist lähtestame ka robotid ja mängijad. round_setup funktsioon hoolitseb meie jaoks uue vooru ettevalmistamise eest - põhjus, miks me selle funktsiooniks muudame, on see, et mängus võib kokku olla kuni 3 vooru ja me tahame vältida sama koodi kordamist. Selles funktsioonis kontrollime kõigepealt, kas mõnel mängijal on 2 võitu - kui see tingimus on tõene, siis on mäng läbi. Kui mõlemal mängijal on vähem kui kaks võitu, suurendame round_num muutujat ühe võrra ja asetame mängijad nende alguskohtadele, täiendame nende elu 100 -ni ja kuulutame uue vooru alguseks.
2. samm: mängu voog
Selles mängus on maailm ise staatiline ja mänguvoog on seotud mängijate tegevusega. Neljas plokis määratleme enamiku mängureegleid, need plokid on järgmised: üles-, allanuppu, A -nuppu ja B -nuppu. Vaatame kõiki neid plokke.
sisse -nuppu vajutatud - topelthüppe loogika. Kui vajutasime hüppamisnuppu vähem kui 3 korda, seadsime mängija kiiruseks - 140 (liigub ülespoole). Meie mängijal on vy kiirendus seatud 600 -le, nii et kui me hüppame, väheneb meie kiirus kiiresti. Kui see jõuab 0 -ni (ei liigu vertikaalteljel), seadistame jump_count uuesti väärtuseks 0.
all nuppu vajutatud - ulatuslik rünnakukilbi loogika. Kui vajutate alla -nuppu, muudab mängija oma pildi varjestatuks ja seab muutuva varjestatud väärtuseks 1.
nupule A vajutatud - laske mürsk. See on üsna iseenesestmõistetav.
nupule B vajutatud - lähivõitluse rünnak, mis sarnaneb rakendamisel kilbiga.
Mängude spritide ja nende varjestatud/ründavate muutujate piltide väärtuseks määrati 0 iga 500 ms järel mängu värskendamisel iga.. ms plokk. Oleksime võinud iga toimingu jaoks määrata sõltumatud taimerid, kuid lihtsuse huvides kasutame lihtsalt mängu peamist värskendustsüklit.
Võidutingimused on siin üsna lihtsad - kui mängija elu jõuab 0 -ni, teine mängija on vooru võitnud, salvestame seejärel iga mängija võitude arvu muutuja sisse.
Lõpuks on kaks plokki, mis kontrollivad ulatuslikke rünnakukahjustusi ja lähivõitluskahjusid. Igas neist kontrollime sprite kokkupõrget ja kas ründava mängija varjestatud/ründav muutuja on seatud väärtusele 0/1.
Samm: mäng 1: AI vastane
Esimeses mängus loome suhteliselt lihtsa tehisintellekti vastase, et olla teine mängija. Mänguuuenduse iga 200 ms tagant kontrollime kõigepealt mängija ja tehisintellekti vahelist kaugust - kui see on alla 20, seadsime oma tehisintellekti lähivõitlusrežiimis, tõstes selle lähivõitluse rünnakuvõimaluse 30 -le ja vahemiku rünnakuvõimaluse 30. Kui kaugus on suurem kui 20 seadsime lähivõitluse rünnakuvõimaluse nulliks (pint lähivõitlusrünnakus, kuna mängija on liiga kaugel) ja liigutame võimaluse 70 -ni. Pärast tegevusvõimaluste muutujate määramist jätkame nende toimingute sooritamist määratud võimalustega. Kui proovite ise selle lihtsa tehisintellekti vastu mängida, näete, et vaatamata selle käitumisele on väga lihtne, pole selle vastu võitmine lihtne - nagu arvutiga juhitud vastaste puhul, võidab see enamasti seetõttu, et suudab teha rohkem toiminguid sekundis inimese mängija.
Kui te kodeerimise ajal kinni jäite, saate selle projekti jaoks meie GitHubi hoidlast alla laadida täieliku koodi ja avada selle Makecode Arcade'is.
Samm 4: Mäng 2: Simulaatori mitme mängijaga mäng
Mängu variant kahele mängijale simulatsioonis on väga sarnane ühe mängija versiooniga, välja arvatud see, et AI käitumisploki asendame nelja mängijaga 2 nupule vajutatud plokiga - nende plokkide sees olev sisu peegeldab mängija 1 samade plokkide sisu. pilti ekraanipildilt, et paremini mõista, milliseid muudatusi peate tegema. Peale selle peame lisama ka käigupleieri 2, mille nupud on käivitusfunktsioonis blokeeritud, ja muutma mängija kahe mängu lõppekraani LOSE asemel WIN.
Samm: mäng 3: Jacdaci mitme mängijaga mäng
Olen leidnud foorumilõngast kogukonna rakenduse Jacdaci mitme mängijaga koos Makecode arcade plokkidega
forum.makecode.com/t/new-extension-real-mu…
Testisin seal näidismängu (Space Invaders) ja leidsin, et see töötab väga hästi. Kahjuks kasutab Cthulhu Combati mängumehaanika palju muutujaid ja tundub, et Real Multiplayer laiendused ei toeta veel muutujate sünkroonimist - nii et sain hakkama, kahe mängija toimingud sünkroonitakse seadmete vahel, kuid elu ei saa ei lange vastaste seadmesse. Samuti on mürsumehaanikaga midagi valesti, paistab, et mürsud ei kao pärast seinale löömist, mistõttu mäng kaotab ühenduse pärast umbes 10 mürsu tulistamist.
Võite proovida mitmikmängu, laadides proovimiseks alla-p.webp
Samm: laske Cthulhu lahingul alata
Meie lihtsas võitlusmängus on veel palju täiustusi - näiteks saate lisada keerukama tehisintellekti käitumise või kasutada laiendit nupukombinatsioonide ja/või animatsioonijärjestuste lisamiseks. Õnne ja nautige mängu mängude programmeerimisel GameGo ja Makecode Arcade'i abil.
Kui teete mängust täiustatud versiooni, jagage seda allolevates kommentaarides! Lisateavet GameGo ja muu riistvara kohta tegijatele ja STEM -i koolitajatele leiate meie veebisaidilt https://tinkergen.com/ ja tellige meie uudiskiri.
Soovitan:
Interaktiivse baasi taastamine Eclipse'iga (eGit): 10 sammu
Kuidas taastada interaktiivset funktsiooni Eclipse (eGit): 20180718 - ma mõtlen " Olen piltidega probleemi lahendanud. Kui need tunduvad suumitud või pole mõtet, proovige klõpsata. Kui teil tekib probleem, saatke mulle sõnum ja ma püüan teid aidata. See juhend annab samm-sammult
LoRa GPS -i jälgija õpetus - LoRaWAN koos Dragino ja TTN -iga: 7 sammu
LoRa GPS -i jälgija õpetus | LoRaWAN koos Dragino ja TTN -iga: Hei, mis toimub, poisid! Akarsh siin CETechist. Paar projekti tagasi vaatasime Dragino LoRaWANi lüüsi. Me ühendasime Gateway'ga erinevad sõlmed ja edastasime andmed sõlmedest Gateway'le, kasutades TheThingsNetwork'i
Inglise pubivalgustid painutades kiudoptikat, valgustatud LED -iga: 4 sammu
Inglise pubivalgustid, painutades kiudoptikat, valgustatud LED -iga: Oletame, et soovite muuta kiu maja kujule vastavaks, et sellele jõulutuled põlema panna. Või äkki soovite tulla välisseinale ja lasta kiu suhtes täisnurga all painutada. Noh, saate seda teha väga lihtsalt
Platvorm, millel on lõpmatu tase GameGo -s koos Makecode Arcade'iga: 5 sammu (piltidega)
Platvormer, millel on lõpmatu tase GameGo'l Makecode Arcade'iga: GameGo on Microsofti Makecode'iga ühilduv kaasaskantav mängumängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i haridustöötajatele või lihtsalt inimestele, kellele meeldib retro -videomängude loomisel lõbutseda
Battle City uusversioon GameGo -s koos Makecode Arcade'iga: 4 sammu (piltidega)
Battle City uusversioon GameGos koos Makecode Arcade'iga: GameGo on Microsofti Makecode'iga ühilduv kaasaskantav mängumängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i pedagoogidele või lihtsalt inimestele, kellele meeldib lõbutseda retrovideo loomisel