Satura rādītājs:

(Multiplayer) Cīņa GameGo ar Makecode Arcade: 6 soļi
(Multiplayer) Cīņa GameGo ar Makecode Arcade: 6 soļi

Video: (Multiplayer) Cīņa GameGo ar Makecode Arcade: 6 soļi

Video: (Multiplayer) Cīņa GameGo ar Makecode Arcade: 6 soļi
Video: Normal People VS Programmers #coding #python #programming #easy #funny #short 2024, Novembris
Anonim

GameGo ir ar Microsoft Makecode saderīga pārnēsājama spēļu 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 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.

Rakstos, kurus publicējām pirms mēs jau izmēģinājām spēkus veidot platformas spēli un Battle City Remake. Šoreiz es gribēju izmantot Jacdac saskarni, lai savienotu divus GameGo un ļautu spēlētājiem cīnīties par pārākumu vairāku spēlētāju cīnītāju spēlē. Diemžēl es uzzināju, ka bloķēšanas programmēšana Jacdac daudzspēlētājiem pašlaik ir beta stadijā un tajā ir dažas kļūdas - joprojām ir iespējams izveidot vienkāršākas spēles, bet manai cīņas spēlei neveicas. Tātad, šajā pamācībā es publicēju trīs spēles versijas (ko es nosaucu par "Cthulhu Combat":))

- viena spēlētāja versija ar vienkāršu AI pretinieku

- vairāku spēlētāju versija, lai spēlētu Arcade simulācijā

- vairāku spēlētāju versija ar Jacdac (nepilnīga, tiks atjaunināta vēlāk)

Piegādes

GameGo

Microsoft Makecode Arcade

1. darbība: par sākuma un Round_setup funkcijām

Par sākuma un Round_setup funkcijām
Par sākuma un Round_setup funkcijām

Es detalizēti aprakstīšu viena spēlētāja spēles kodēšanu, un tad nākamajos soļos mēs apspriedīsim, kā to padarīt

a) vairāku spēlētāju simulators

b) Jacdac multiplayer.

Mēs sākam ar flīžu kartes iestatīšanu tumšā cietumā un sprites izveidošanu spēlētājam un AI robotam - abi abi piederēs Player veida. Mēs iestatījām viņu y ass paātrinājumu uz 600 - lai viņi pēc lēciena nelidotu. Mēs arī inicializējam šāviņus no robota un atskaņotāja, pirms izsaucam funkciju round_setup. Funkcija round_setup rūpējas par jaunu sagatavošanos mums - iemesls, kāpēc mēs to padarām par funkciju, ir tas, ka spēlē kopumā var būt pat 3 raundi, un mēs vēlamies izvairīties no viena un tā paša koda atkārtošanas. Šajā funkcijā vispirms mēs pārbaudām, vai kādam no spēlētājiem ir 2 uzvaras - ja šis nosacījums tiek novērtēts kā Patiess, tad spēle ir beigusies. Ja abiem spēlētājiem ir mazāk nekā divas uzvaras, mēs palielinām mainīgo round_num par vienu un novietojam spēlētājus uz viņu sākuma vietām, papildinām viņu dzīvi līdz 100 un paziņojam par jaunas kārtas sākumu.

2. darbība. Spēļu plūsma

Spēles plūsma
Spēles plūsma

Šajā spēlē pati pasaule ir statiska, un spēles plūsma ir saistīta ar spēlētāju darbībām. Četros blokos mēs definējam lielāko daļu spēles noteikumu: Apskatīsim katru no šiem blokiem.

nospiesta augšup poga - dubultlēkšanas loģika. Ja mēs nospiedām lēciena pogu mazāk nekā 3 reizes, tad mēs iestatījām spēlētāja ātrumu uz - 140 (virzoties uz augšu). Mūsu spēlētājam vy paātrinājums ir iestatīts uz 600, tāpēc, tiklīdz mēs lēksim, mūsu ātrums strauji samazināsies. Kad tas sasniedz 0 (nepārvietojas pa vertikālo asi), mēs atkal iestatām jump_count uz 0.

nospiesta uz leju poga - diapazona uzbrukuma vairoga loģika. Nospiežot lejupvērsto pogu, spēlētājs maina savu attēlu uz “pasargāts” un mainīgo pasargā uz 1.

uz pogas A nospiests - izšauj šāviņu. Tas ir diezgan pašsaprotami.

uz pogas B nospiests - tuvcīņas uzbrukums, līdzīgs vairogam īstenošanā.

Mēs iestatām spēlētāju spritu un to aizsargāto/uzbrūkošo mainīgo attēlus uz 0 ik pēc 500 ms spēles atjauninājumā ik.. ms. Mēs varētu būt iestatījuši neatkarīgus taimeri katrai darbībai, taču vienkāršības labad mēs vienkārši izmantosim galveno spēles atjaunināšanas cilpu.

Uzvarēšanas nosacījumi šeit ir diezgan vienkārši - kad spēlētāja mūžs sasniedz 0, otrs spēlētājs ir uzvarējis kārtā, mēs pēc tam mainām spēlētāja uzvaru skaitu.

Visbeidzot, ir divi bloki, kas kontrolē dažādus uzbrukumus un tuvcīņas uzbrukumus. Katrā no tiem mēs pārbaudām sprite sadursmi un vai uzbrucēja spēlētāja ekranētais/uzbrūkošais mainīgais ir iestatīts uz 0/1.

3. darbība: 1. spēle: AI pretinieks

1. spēle: AI pretinieks
1. spēle: AI pretinieks

Pirmajā spēlē mēs izveidosim salīdzinoši vienkāršu AI pretinieku, lai kļūtu par otro spēlētāju. Spēles atjaunināšanas laikā ik pēc 200 ms vispirms veicam attāluma pārbaudi starp spēlētāju un mākslīgo intelektu - ja tas ir mazāks par 20, mēs iestatām savu AI tuvcīņas režīmā, paaugstinot tā tuvcīņas uzbrukuma iespēju līdz 30 un attāluma uzbrukuma iespēju līdz 30. Ja attālums ir lielāks vairāk nekā 20 mēs tuvcīņas uzbrukuma iespēju iestatām uz nulli (bez pintes tuvcīņas uzbrukumā, jo spēlētājs ir pārāk tālu) un pārceļam iespēju uz 70. Pēc tam, kad ir iestatīti darbības iespēju mainīgie, mēs turpinām izpildīt šīs darbības ar norādītajām iespējām. Ja jūs pats mēģināt spēlēt pret šo vienkāršo AI, jūs redzēsit, ka, neskatoties uz tā uzvedību, ir ļoti vienkārša, uzvarēt pret to nav viegli - kā tas bieži notiek ar datoru kontrolētiem pretiniekiem, jo tas uzvar galvenokārt tāpēc, ka spēj veikt vairāk darbību sekundē nekā cilvēka spēlētājs.

Ja kodēšanas laikā esat iestrēdzis, varat lejupielādēt pilnu kodu mūsu projekta GitHub krātuvē un atvērt to vietnē Makecode Arcade.

4. darbība: 2. spēle: vairāku spēlētāju simulators

2. spēle: vairāku spēlētāju simulators
2. spēle: vairāku spēlētāju simulators
2. spēle: vairāku spēlētāju simulators
2. spēle: vairāku spēlētāju simulators

Spēles variants diviem spēlētājiem simulācijā ir ļoti līdzīgs viena spēlētāja versijai, izņemot to, ka mēs aizstājam AI uzvedības bloku ar četriem spēlētāja 2 pogas nospiestajiem blokiem - ar saturu šajos blokos, kas atspoguļo to pašu bloku saturu 1. spēlētājam. apskatiet ekrānuzņēmumu, lai labāk izprastu, kādas izmaiņas jums ir jāveic. Bez tam mums jāpievieno arī pārvietošanas spēlētājs 2 ar pogām, kas bloķē sākuma funkciju, un jāmaina otrā spēlētāja beigu ekrāns uz WIN, nevis LOSE.

5. darbība: 3. spēle: Jacdac multiplayer

3. spēle: Jacdac Multiplayer
3. spēle: Jacdac Multiplayer

Šajā foruma pavedienā esmu atradis kopienas Jacdac vairāku spēlētāju ieviešanu ar Makecode arkādes blokiem

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

Es tur izmēģināju spēles piemēru (Space Invaders) un atklāju, ka tā darbojas ļoti labi. Diemžēl Cthulhu Combat spēļu mehānikā tiek izmantoti daudzi mainīgie, un šķiet, ka Real Multiplayer paplašinājumi vēl neatbalsta mainīgo sinhronizēšanu - tāpēc es to saņēmu, divu spēlētāju darbības tiek sinhronizētas dažādās ierīcēs, bet dzīve nevarētu nenokrīt pretinieku ierīcē. Arī ar lādiņu mehāniku ir kaut kas nepareizs, šķiet, ka šāviņi nepazūd pēc sitiena ar sienu, kā rezultātā spēle zaudē savienojumu pēc aptuveni 10 šāvienu izšaušanas.

Varat izmēģināt vairāku spēlētāju spēles, lejupielādējot-p.webp

6. solis: Ļaujiet Cthulhu cīņai sākt

Sāksim Cthulhu cīņu!
Sāksim Cthulhu cīņu!

Mūsu vienkāršajā cīņas spēlē joprojām ir daudz uzlabojumu - piemēram, varat pievienot sarežģītāku AI uzvedību vai izmantot paplašinājumu, lai pievienotu pogu kombinācijas un/vai animācijas secības. Lai veicas un izklaidējieties, kamēr pats programmējat spēles, izmantojot GameGo un Makecode Arcade.

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 biļetenu.

Ieteicams: