Агуулгын хүснэгт:

(Олон тоглогч) Makecode Arcade ашиглан GameGo дээр тулалдах: 6 алхам
(Олон тоглогч) Makecode Arcade ашиглан GameGo дээр тулалдах: 6 алхам

Видео: (Олон тоглогч) Makecode Arcade ашиглан GameGo дээр тулалдах: 6 алхам

Видео: (Олон тоглогч) Makecode Arcade ашиглан GameGo дээр тулалдах: 6 алхам
Видео: Хэрхэн Space Jam: A New Legacy Block Coding хийх вэ? | Herhen Space Jam Blocking Coding hiih ve? 2024, Арваннэгдүгээр
Anonim

GameGo бол TinkerGen STEM -ийн боловсруулсан Microsoft Makecode нийцтэй чимэг тоглоомын зөөврийн консол юм. Энэ нь STM32F401RET6 ARM Cortex M4 чип дээр суурилсан бөгөөд STEM сурган хүмүүжүүлэгчид эсвэл чимэг видео тоглоом бүтээх дуртай хүмүүст зориулагдсан бөгөөд та энэ хичээлийг дагаж Makecode Arcade симулятор дээр тоглоомыг туршиж үзээд GameGo дээр ажиллуулж болно.

Платформер тоглоом, Battle City Remake хийх талаар гараа туршиж үзэхээсээ өмнө бидний нийтэлсэн нийтлэлүүдэд. Энэ удаад би Jacdac интерфэйсийг ашиглан хоёр GameGo -г хооронд нь холбож, тоглогчид олон тоглогчийн сөнөөгч тоглоомд давуу эрхийн төлөө тэмцэхийг зөвшөөрөхийг хүссэн юм. Харамсалтай нь Jacdac олон тоглогчийн блок програмчлал нь одоогоор бета шатанд явж байгаа бөгөөд зарим алдаатай байгаа гэдгийг олж мэдсэн - илүү энгийн тоглоом хийх боломжтой хэвээр байгаа ч миний тулааны тоглоомонд аз таарсангүй. Тиймээс, энэ зааварчилгаанд би тоглоомын гурван хувилбарыг нийтэлсэн (үүнийг "Cthulhu Combat" гэж нэрлэсэн:))

- хиймэл оюун ухааны энгийн өрсөлдөгчтэй ганц тоглогчийн хувилбар

- Зоосон машин симуляцид тоглох олон тоглогчийн хувилбар

- Jacdac -тай олон тоглогчийн хувилбар (бүрэн бус, дараа нь шинэчлэгдэх болно)

Хангамж

GameGo

Microsoft Makecode аркад

Алхам 1: Эхлэх ба Round_setup функцууд дээр

Эхлэх ба Round_setup функцууд дээр
Эхлэх ба Round_setup функцууд дээр

Би ганц тоглогчийн тоглоомыг кодлох талаар нарийвчлан тайлбарлах болно, дараа нь үүнийг хэрхэн яаж хийх талаар ярилцах болно

а) симулятор олон тоглогч

б) Жакдак олон тоглогч.

Бид плитаны газрын зургийг харанхуй гянданд тохируулж, тоглогч болон AI ботод зориулсан спрайт үүсгэж эхэлдэг бөгөөд хоёулаа Тоглогчийн төрөлд хамаарна. Бид тэдний y тэнхлэгийн хурдатгалыг 600 болгож тохируулсан бөгөөд ингэснээр тэд үсрээд нисэхгүй. Мөн round_setup функцийг дуудахаасаа өмнө бид сумыг тоглогч болон тоглогчоос эхлүүлдэг. round_setup функц нь бидний хувьд шинэ тойргийн бэлтгэлийг хангаж өгдөг - үүнийг функц болгож байгаагийн учир нь тоглоомонд нийт 3 тойрог байж болох бөгөөд бид ижил кодыг давтахгүй байхыг хүсдэг. Энэ функц дээр эхлээд тоглогчдын аль нэг нь 2 хожил авсан эсэхийг шалгадаг. Хэрэв энэ нөхцөл үнэн гэж үнэлэгдвэл тоглоом дууссан. Хэрэв хоёр тоглогч хоёулаа хожил дутуу байвал бид round_num хувьсагчийг нэгээр нэмж, тоглогчдыг гарааны байрлалд байрлуулж, тэдний амьдралыг 100 болгож дүүргэж, шинэ тойргийн эхлэлийг зарлаж байна.

Алхам 2: Тоглоомын урсгал

Тоглоомын урсгал
Тоглоомын урсгал

Энэ тоглоомонд дэлхий өөрөө статик бөгөөд тоглоомын урсгалыг тоглогчдын үйлдэлд холбож өгдөг. Дөрвөн блок дээр бид ихэнх тоглоомын дүрмийг тодорхойлдог бөгөөд эдгээр блокууд нь: дээш товчлуур дарагдсан, доош товчлуур дарагдсан, А товчлуур дарагдсан, В товчлуур дарагдсан байна. Эдгээр блок тус бүрийг авч үзье.

дээр товчлуур дарагдсан - давхар үсрэлтийн логик. Хэрэв бид үсрэх товчлуурыг 3 -аас бага удаа дарсан бол тоглогчийн хурдыг - 140 (дээш хөдөлж) болгоно. Манай тоглогч 600 хурдатгал хурдасгууртай тул үсрэх үед бидний хурд хурдан буурах болно. Энэ нь 0 хүрэхэд (босоо тэнхлэг дээр хөдлөхгүй) бид jump_count -ийг дахин 0 болгож тохируулна.

доош товчлуур дээр дарагдсан - халдлагын бамбай логик. Хэрэв доош товчлуур дарагдсан бол тоглогч дүрсийг "хамгаалагдсан" болгож, хамгаалагдсан хувьсагчийг 1 болгож тохируулна.

А товчлуур дээр дарагдсан - сум харвах. Энэ нь бараг л өөрийгөө тайлбарладаг.

В товчлуур дээр дарагдсан - хэрэгжилтэнд бамбайтай төстэй тулалдааны довтолгоо.

Бид тоглогчдын спрайтууд болон тэдний хамгаалагдсан/довтолж буй хувьсагчдын зургийг тоглоомын шинэчлэлт бүрт 500 ms тутамд 0 болгож тохируулдаг. Бид үйлдэл бүрийн хувьд бие даасан таймер тохируулж болох байсан, гэхдээ хялбар болгохын тулд бид тоглоомын шинэчлэлтийн үндсэн хүрдийг ашиглах болно.

Энд хожих нөхцөл нь маш хялбар байдаг - тоглогчийн амьдрал 0 хүрэхэд нөгөө тоглогч тойрог дээр ялсан бол бид тоглогчийн хожсон тоог хувьсагч хэлбэрээр хадгалдаг.

Эцэст нь довтолгооны хохирол болон тулааны довтолгооны хохирлыг хянадаг хоёр блок байдаг. Тэд тус бүрт спрайт мөргөлдөөн байгаа эсэхийг шалгаж, довтлогч тоглогчийн хамгаалалт/довтолгооны хувьсагчийг 0/1 болгож тохируулсан болно.

Алхам 3: Тоглоом 1: AI өрсөлдөгч

Тоглоом 1: AI өрсөлдөгч
Тоглоом 1: AI өрсөлдөгч

Эхний тоглоомонд бид харьцангуй энгийн хиймэл оюун ухааны өрсөлдөгчийг бий болгож, хоёр дахь тоглогч болно. Тоглоомын шинэчлэлт дээр 200 мс тутамд бид эхлээд тоглогч болон хиймэл оюун ухаан хоёрын хоорондох зайг шалгадаг. Хэрэв 20 -оос бага бол бид хиймэл оюун ухаанаа ойртуулах горимд 30, дайрах магадлалыг 30 болгож тохируулна. Хэрэв зай илүү өндөр байвал 20 -оос дээш бол бид тулалдааны довтолгооны магадлалыг тэг болгож (тулалдааны довтолгоонд ямар ч пинт байхгүй, тоглогч хэт хол байгаа тул), боломжийг 70 болгоно. Үйлдлийн магадлалын хувьсагчийг тохируулсны дараа бид эдгээр үйлдлүүдийг тогтоосон боломжоор гүйцэтгэж үргэлжлүүлнэ. Хэрэв та энэ энгийн хиймэл оюун ухааны эсрэг тоглохыг оролдвол түүний зан байдал маш энгийн боловч үүнийг ялах нь тийм ч хялбар биш болохыг олж харах болно. хүний тоглогч.

Хэрэв та кодлох явцад гацсан бол энэ төслийн бүрэн кодыг манай GitHub репозитороос татаж аваад Makecode Arcade дээр нээж болно.

Алхам 4: Тоглоом 2: Олон тоглогчийн симулятор

Тоглоом 2: Олон тоглогчийн симулятор
Тоглоом 2: Олон тоглогчийн симулятор
Тоглоом 2: Олон тоглогчийн симулятор
Тоглоом 2: Олон тоглогчийн симулятор

Симуляци хийх хоёр тоглогчийн тоглоомын хувилбар нь нэг тоглогчийн хувилбартай маш төстэй юм, гэхдээ бид хиймэл оюун ухааны зан үйлийн блокыг 4 тоглогч дээр 2 товчлуур дарагдсан 4 блокоор сольж өгдөг. Дэлгэцийн агшинг үзээд ямар өөрчлөлт хийх шаардлагатай байгааг олж мэдээрэй. Үүнээс гадна бид эхлэх функц дээр товчлуурыг дарах 2 -р тоглуулагчийг нэмж, хоёр тоглолтын төгсгөлийн дэлгэцийг LOSE -ийн оронд WIN болгож өөрчлөх хэрэгтэй.

Алхам 5: Тоглоом 3: Jacdac Multiplayer

Тоглоом 3: Jacdac Multiplayer
Тоглоом 3: Jacdac Multiplayer

Би энэ форумын сэдвээс Makecode аркад блок бүхий Jacdac олон тоглогчийн олон нийтийн хэрэгжилтийг олж мэдсэн

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

Би жишээ тоглоомыг (Space Invaders) туршиж үзээд маш сайн ажиллаж байгааг олж мэдэв. Харамсалтай нь, Cthulhu Combat -ийн тоглоомын механикууд маш олон хувьсагч ашигладаг бөгөөд Бодит олон тоглогчийн өргөтгөлүүд нь хувьсагчдыг синхрончлохыг хараахан дэмждэггүй юм шиг санагдаж байна. Тиймээс би үүнийг ажиллууллаа, хоёр тоглогчийн үйлдэл төхөөрөмжүүд дээр синхрончлогдсон боловч амьдрал тийм биш байсан. Өрсөлдөгчийнхөө төхөөрөмжийг бүү хая. Мөн сумны механикт алдаа гардаг, сумнууд хананд цохигдсоны дараа алга болдоггүй юм шиг байгаа нь 10 орчим пуужин харвасны дараа тоглоом холбоо тасардаг.

Та манай GitHub репозитороос-p.webp

Алхам 6: Cthulhu тулааныг эхлүүлцгээе

Cthulhu тулааныг эхлүүлцгээе!
Cthulhu тулааныг эхлүүлцгээе!

Бидний энгийн тулааны тоглоомыг сайжруулах олон зүйл байсаар байна. Жишээлбэл, та хиймэл оюун ухааны илүү төвөгтэй зан үйлийг нэмж эсвэл товчлуурын хослол ба/эсвэл анимацийн дарааллыг нэмэхийн тулд өргөтгөлийг ашиглаж болно. GameGo болон Makecode Arcade ашиглан өөрийн тоглоомыг програмчилж байхдаа амжилт хүсье, хөгжилтэй байгаарай.

Хэрэв та тоглоомын сайжруулсан хувилбарыг хийвэл доорх сэтгэгдлээр хуваалцаарай! GameGo болон үйлдвэрлэгч болон STEM сургагчдад зориулсан бусад тоног төхөөрөмжийн талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл манай вэбсайт https://tinkergen.com/ хаягаар орж манай мэдээллийн хуудсыг захиалаарай.

Зөвлөмж болгож буй: