Përmbajtje:

(Multiplayer) Luftimi në GameGo With Makecode Arcade: 6 hapa
(Multiplayer) Luftimi në GameGo With Makecode Arcade: 6 hapa

Video: (Multiplayer) Luftimi në GameGo With Makecode Arcade: 6 hapa

Video: (Multiplayer) Luftimi në GameGo With Makecode Arcade: 6 hapa
Video: makecode Türkçe 2024, Nëntor
Anonim

GameGo është një tastierë portative e lojërave retro e pajtueshme me Microsoft Makecode e zhvilluar nga arsimi TinkerGen STEM. Ai bazohet në çipin STM32F401RET6 ARM Cortex M4 dhe është bërë për edukatorët STEM ose thjesht për njerëzit që duan të argëtohen duke krijuar video lojëra retro. Ju mund ta ndiqni këtë tutorial dhe ta provoni lojën në imituesin Makecode Arcade dhe më pas ta ekzekutoni në GameGo.

Në artikujt që botuam para se të provonim dorën për të bërë një lojë platformer dhe një Battle City Remake. Këtë herë doja të përdorja ndërfaqen Jacdac për të lidhur dy GameGo së bashku dhe për të lejuar lojtarët të luftojnë për epërsi në një lojë luftarake me shumë lojtarë. Fatkeqësisht, zbulova se programimi i bllokut për multiplayer Jacdac tani është në fazën beta dhe ka disa gabime - është ende e mundur të bëhen lojëra më të thjeshta, por nuk ka fat për lojën time luftarake. Pra, në këtë udhëzues unë publikoj tre versione të lojës (të cilën e quajta "Lufta Cthulhu":))

- version me një lojtar me kundërshtar të thjeshtë të AI

- version multiplayer për të luajtur në simulimin Arcade

- versioni multiplayer me Jacdac (jo i plotë, do të përditësohet më vonë)

Furnizimet

Lojë Shko

Microsoft Makecode Arcade

Hapi 1: Në Funksionet Start dhe Round_setup

Në Funksionet Start dhe Round_setup
Në Funksionet Start dhe Round_setup

Unë do të përshkruaj kodimin e lojës me një lojtar në detaje dhe pastaj në hapat e ardhshëm ne diskutojmë se si ta bëjmë atë

a) multiplayer imitues

b) multiplayer Jacdac.

Ne fillojmë me vendosjen e hartës së pllakave në birucë të errët dhe krijimin e sprites për lojtarin dhe botin e AI - të dy ata do t'i përkasin llojit të Lojtarit. Ne e vendosëm përshpejtimin e boshtit y në 600 - kështu që ata nuk do të fluturojnë pasi të hidhen. Ne gjithashtu fillojmë predhat nga bot dhe player para se të thërrasim funksionin round_setup. Funksioni round_setup kujdeset për përgatitjen e raundit të ri për ne - arsyeja pse ne e bëjmë atë një funksion është sepse mund të ketë deri në 3 raunde në total në lojë dhe ne duam të shmangim përsëritjen e të njëjtit kod. Në atë funksion fillimisht kontrollojmë nëse ndonjë nga lojtarët ka 2 fitore - nëse kjo gjendje vlerësohet si e vërtetë, atëherë loja ka mbaruar. Nëse të dy lojtarët kanë më pak se dy fitore, ne e rrisim variablin round_num me një dhe i vendosim lojtarët në vendet e tyre fillestare, plotësojmë jetën e tyre në 100 dhe shpallim fillimin e një raundi të ri.

Hapi 2: Rrjedha e lojës

Loja Rrjedha
Loja Rrjedha

Në këtë lojë bota në vetvete është statike dhe rrjedha e lojës është e lidhur me veprimet e lojtarëve. Në katër blloqe ne përcaktojmë shumicën e rregullave të lojës, këto blloqe janë: butoni lart i shtypur, butoni poshtë i shtypur, butoni A i shtypur dhe butoni B i shtypur. Le të hedhim një vështrim në secilën prej këtyre blloqeve.

butoni lart i shtypur - logjika e kërcimit të dyfishtë. Nëse shtypim butonin e kërcimit më pak se 3 herë, atëherë vendosim shpejtësinë e lojtarit në - 140 (duke lëvizur lart). Lojtari ynë ka vy nxitimin në 600, kështu që sapo të kërcejmë, shpejtësia jonë do të ulet shpejt. Sapo të arrijë 0 (nuk lëviz në boshtin vertikal) vendosim jump_count në 0 përsëri.

butoni poshtë i shtypur - logjika e mburojës së sulmit në rang. Nëse shtypet butoni poshtë, lojtari ndryshon imazhin e tij në "të mbrojtur" dhe vendos ndryshoren e mbrojtur në 1.

në butonin A të shtypur - gjuani një predhë. Ai është shumë vetë-shpjegues.

në butonin B të shtypur - sulm përleshje, i ngjashëm me mburojën në zbatim.

Ne i vendosim imazhet e spritave të lojtarëve dhe variablat e tyre të mbrojtur/sulmues në 0 çdo 500 ms në përditësimin e lojës çdo.. ms bllok. Ne mund të kishim vendosur kohëmatës të pavarur për secilin veprim, por për hir të thjeshtësisë do të përdorim vetëm lakin kryesor të azhurnimit të lojës.

Kushtet e fitores këtu janë mjaft të lehta - kur jeta e lojtarit arrin 0, lojtari tjetër ka fituar raundin, atëherë ne i ruajmë numrin e fitoreve nga lojtari në një ndryshore.

Së fundi, ka dy blloqe që kontrollojnë dëmtimin e shkallës së sulmit dhe dëmtimin e sulmit përleshje. Në secilën prej tyre ne kontrollojmë për përplasje sprite dhe nëse ndryshorja e mbrojtur/sulmuese për lojtarin sulmues është vendosur në 0/1.

Hapi 3: Loja 1: Kundërshtari i AI

Loja 1: Kundërshtari i AI
Loja 1: Kundërshtari i AI

Në lojën e parë ne do të krijojmë një kundërshtar relativisht të thjeshtë të AI që të jetë lojtari i dytë. Brenda në azhurnimin e lojës çdo 200 ms ne së pari bëjmë kontrollin e distancës midis lojtarit dhe AI - nëse është më pak se 20 ne e vendosim AI -në tonë në modalitetin përleshje duke e rritur mundësinë e sulmit përleshje në 30 dhe shansin e sulmit në 30. Nëse distanca është më e madhe se 20 ne vendosim shansin e sulmit përleshje në zero (nuk ka asnjë pikë në sulmin përleshje, pasi lojtari është shumë larg) dhe e transferojmë shansin në 70. Pasi të jenë vendosur variablat për shanset e veprimit, ne vazhdojmë të ekzekutojmë këto veprime me shanset e specifikuara. Nëse provoni të luani vetë kundër këtij AI të thjeshtë, do të shihni se pavarësisht se sjellja e tij është shumë e thjeshtë, të fitosh kundër tij nuk është e lehtë - pasi shpesh në rastin me kundërshtarët e kontrolluar nga kompjuteri fiton kryesisht sepse mund të bëjë më shumë veprime në sekondë sesa një lojtar njeri.

Nëse keni ngecur gjatë kodimit, mund ta shkarkoni kodin e plotë në depon tonë GitHub për këtë projekt dhe ta hapni atë në Makecode Arcade.

Hapi 4: Lojë 2: Simulator Multiplayer

Lojë 2: Simulator Multiplayer
Lojë 2: Simulator Multiplayer
Lojë 2: Simulator Multiplayer
Lojë 2: Simulator Multiplayer

Varianti i lojës për dy lojtarë në simulim është shumë i ngjashëm me versionin e një lojtari të vetëm, përveç se ne zëvendësojmë bllokun e sjelljes AI me katër blloqe të shtypur të butonit në lojtar 2 - me përmbajtje brenda këtyre blloqeve që pasqyrojnë përmbajtjen e blloqeve të njëjta për lojtarin 1. Keni një vështrim në pamjen e ekranit për të marrë një ide më të mirë se çfarë ndryshimesh duhet të bëni. Përveç kësaj ne gjithashtu duhet të shtojmë lëvizjen e lojtarit 2 me butona të bllokuar në funksionin e fillimit dhe të ndryshojmë ekranin përfundimtar për lojën lojtari dy në WIN në vend të LOSE.

Hapi 5: Lojë 3: Jacdac Multiplayer

Lojë 3: Jacdac Multiplayer
Lojë 3: Jacdac Multiplayer

Kam gjetur një zbatim të komunitetit të multiplayer Jacdac me blloqe arcade Makecode në këtë fije forumi

forum.makecode.com/t/new-extension-real-mu…

Unë testova lojën shembullore atje (Space Invaders) dhe zbulova se po funksiononte shumë mirë. Fatkeqësisht, mekanika e lojës e Cthulhu Combat përdor shumë variabla dhe duket se shtesat Real Multiplayer nuk i mbështesin sinkronizimin e variablave akoma - kështu që unë e punova, veprimet e dy lojtarëve sinkronizohen në të gjitha pajisjet, por jeta nuk mundet nuk bie në pajisjen e kundërshtarëve. Gjithashtu ka diçka që nuk shkon me mekanikën e predhës, predhat nuk duket të zhduken pasi të godasin murin, gjë që bën që loja të humbasë lidhjen pasi të jenë shkrepur rreth 10 predha.

Ju mund të provoni multiplayer duke shkarkuar skedarin-p.webp

Hapi 6: Le të Fillojë Lufta Cthulhu

Le të Fillojë Lufta Cthulhu!
Le të Fillojë Lufta Cthulhu!

Ende ka shumë përmirësime që mund të bëhen në lojën tonë të thjeshtë luftarake - për shembull, mund të shtoni sjellje më të komplikuara të AI ose të përdorni shtrirje për të shtuar kombinime të butonave dhe/ose sekuenca animacioni. Fat i mirë dhe argëtohuni ndërsa programoni lojërat tuaja me GameGo dhe Makecode Arcade.

Nëse bëni një version të përmirësuar të lojës, ndajeni atë në komentet më poshtë! Për më shumë informacion mbi GameGo dhe pajisje të tjera për krijuesit dhe edukatorët STEM, vizitoni faqen tonë të internetit, https://tinkergen.com/ dhe regjistrohuni në gazetën tonë.

Recommended: