Мазмұны:
- Жабдықтар
- 1 -қадам: Бастау және Round_setup функциялары
- 2 -қадам: Ойын ағыны
- 3 -қадам: 1 -ойын: AI қарсыласы
- 4 -қадам: 2 -ойын: Көп ойыншы симуляторы
- 5 -қадам: 3 -ойын: Jacdac көп ойыншы
- 6 -қадам: Cthulhu күресі басталсын
Бейне: (Көп ойыншы) GameGo -да Makecode Arcade көмегімен күрес: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
GameGo - TinkerGen STEM білім беруімен жасалған Microsoft Makecode үйлесімді ретро ойын портативті консолі. Ол STM32F401RET6 ARM Cortex M4 чипіне негізделген және STEM тәрбиешілеріне немесе ретро видео ойындар жасауды ұнататын адамдарға арналған. Осы оқулықты орындап, ойынды Makecode Arcade тренажерінде көруге болады, содан кейін оны GameGo -да іске қосуға болады.
Біз жариялаған мақалаларда біз платформалық ойын мен Battle City Remake жасауға күшімізді сынап көрмедік. Бұл жолы мен Jacdac интерфейсін екі GameGo -ны біріктіру үшін қолданғым келді және ойыншыларға көп ойыншы жауынгерлік ойында үстемдік үшін күресуге мүмкіндік бергім келді. Өкінішке орай, мен Jacdac мультиплееріне арналған блоктық бағдарламалау қазіргі уақытта бета -сатыда екенін және кейбір қателері бар екенін білдім - әлі де қарапайым ойындар жасауға болады, бірақ менің жауынгерлік ойында сәттілік жоқ. Сонымен, мен бұл нұсқаулықта ойынның үш нұсқасын жариялаймын (мен оны «Cthulhu Combat» деп атадым:))
- қарапайым AI қарсыласы бар жалғыз ойыншы нұсқасы
- аркадтық модельдеуде ойнауға болатын көп ойыншы нұсқасы
- Jacdac бар көп ойыншы нұсқасы (толық емес, кейін жаңартылады)
Жабдықтар
GameGo
Microsoft Makecode Arcade
1 -қадам: Бастау және Round_setup функциялары
Мен бір ойыншының ойынын кодтауды егжей -тегжейлі сипаттаймын, содан кейін келесі қадамдарда біз оны қалай жасау керектігін талқылаймыз
а) мультипликаторлық тренажер
б) Jacdac көп ойыншы.
Біз плиткалардың картасын қараңғы зынданға орнатудан және ойыншы мен AI ботқа спрайт құрудан бастаймыз, бірақ олардың екеуі де ойыншы түріне жатады. Біз олардың осьтік үдеуін 600 -ге қойдық - олар секіргеннен кейін ұшпайды. Сонымен қатар, round_setup функциясын шақырар алдында снарядтарды боттан және ойнатқыштан инициализациялаймыз. round_setup функциясы біз үшін жаңа раундтық дайындық туралы қамқорлық жасайды - оны функцияға айналдырған себебіміз, ойынның жалпы саны 3 раунд болуы мүмкін және біз сол кодты қайталамауды қалаймыз. Бұл функцияда алдымен ойыншылардың біреуінде 2 жеңіс бар -жоғын тексереміз - егер бұл шарт шын деп бағаланса, ойын аяқталды. Егер екі ойыншының да жеңістері екіден аз болса, біз round_num айнымалысын бір -ге арттырамыз және ойыншыларды бастапқы орындарына орналастырамыз, олардың өмірін 100 -ге дейін толықтырамыз және жаңа раундтың басталуын жариялаймыз.
2 -қадам: Ойын ағыны
Бұл ойында әлемнің өзі статикалық және ойын ағыны ойыншылардың әрекеттеріне байланысты. Төрт блокта біз ойын ережелерінің көпшілігін анықтаймыз, бұл блоктар: жоғары, төмен түймесі, А түймесі басылады және В түймесі басылады. Осы блоктардың әрқайсысын қарастырайық.
жоғары батырмасы басылады - қос секіру логикасы. Егер біз секіру түймесін 3 реттен аз бассақ, онда ойыншының жылдамдығын - 140 (жоғары қарай жылжу) деп орнатамыз. Біздің ойыншыда 600 үдеу бар, сондықтан біз секіргеннен кейін жылдамдығымыз тез төмендейді. Ол 0 -ге жеткенде (тік осьте қозғалмайды), біз jump_count мәнін қайтадан 0 -ге орнатамыз.
төмен батырмасы басылды - ауқымды шабуыл қалқанының логикасы. Егер төмен түймесі басылса, ойыншы өзінің бейнесін «экрандалған» етіп өзгертеді және экрандалған айнымалы мәнді 1 -ге қояды.
А түймесін басу - снарядты өртеу. Бұл өздігінен түсінікті.
В батырмасы басылды - іске асырудағы қалқанға ұқсас шабуыл.
Біз ойыншылардың спрайттары мен олардың қорғалған/шабуылдайтын айнымалыларының суреттерін әр 500 мс сайын 0 жаңартуға орнатамыз. Біз әр әрекет үшін тәуелсіз таймерлерді орната алар едік, бірақ қарапайымдылық үшін біз ойынның негізгі жаңарту циклін қолданамыз.
Бұл жерде жеңу шарттары өте оңай - ойыншының өмірі 0 -ге жеткенде, басқа ойыншы раундта жеңіске жетті, содан кейін біз ойыншының жеңіс санын айнымалы түрде сақтаймыз.
Ақырында, шабуылдың зақымдануы мен шабуылдың зақымдануын басқаратын екі блок бар. Олардың әрқайсысында біз спрайт соқтығысуын тексереміз және егер шабуылдаушы ойыншының қорғалған/шабуылдық айнымалы мәні 0/1 күйіне орнатылса.
3 -қадам: 1 -ойын: AI қарсыласы
Бірінші ойында біз екінші ойыншы болу үшін AI -ға қарапайым қарсылас жасаймыз. Әр 200 мс сайын ойын жаңартылғанда біз алдымен ойыншы мен АИ арасындағы қашықтықты тексереміз - егер ол 20 -дан аз болса, біз интеллектуалды шабуыл режимін 30 -ға және шабуыл мүмкіндігін 30 -ға дейін жоғарылату арқылы қоямыз. 20 -дан астам біз қарымта шабуыл мүмкіндігін нөлге (ойыншы тым алыста болғандықтан, нүкте қоймайды) және 70 -ке ауыстыру мүмкіндігін қойдық. Әрекет ықтималдығы үшін айнымалылар орнатылғаннан кейін, біз бұл әрекеттерді көрсетілген мүмкіндіктермен орындауды жалғастырамыз. Егер сіз осы қарапайым АИ -ге қарсы ойнауға тырыссаңыз, оның мінез -құлқының өте қарапайым екеніне көз жеткізесіз, онымен күресу оңай емес - көбінесе компьютермен басқарылатын қарсыластарда ол жеңеді, себебі ол секундына көбірек әрекеттерді жасай алады. адам ойыншысы.
Егер сіз кодтау кезінде кептеліп қалсаңыз, сіз осы жобаның GitHub репозиторийінен толық кодты жүктей аласыз және оны Makecode Arcade -де ашасыз.
4 -қадам: 2 -ойын: Көп ойыншы симуляторы
Симуляциядағы екі ойыншының ойын нұсқасы бір ойыншының нұсқасына өте ұқсас, тек біз AI -дің мінез -құлық блогын 4 -плеердегі 2 -түймені басқан блоктармен алмастырамыз - бұл блоктардың ішіндегі мазмұн 1 -ойыншы үшін сол блоктардың мазмұнын көрсетеді. қандай өзгерістер енгізу керектігін жақсы түсіну үшін скриншотты қараңыз. Бұдан басқа, бізде 2 -ші ойыншының іске қосылу түймесі бар қосқышын қосу және екі ойыншының соңғы экранын LOSE орнына WIN -ге ауыстыру қажет.
5 -қадам: 3 -ойын: Jacdac көп ойыншы
Мен осы форумда Makecode аркадалық блоктары бар Jacdac көп ойыншысының қоғамдастыққа енгізілуін таптым
forum.makecode.com/t/new-extension-real-mu…
Мен мысалды ойынды (Space Invaders) сынап көрдім және ол өте жақсы жұмыс істейтінін байқадым. Өкінішке орай, Cthulhu Combat ойын механикасы көптеген айнымалыларды қолданады, және нақты мультиплеерлік кеңейтімдер әлі де синхрондауды қолдамайтын сияқты, сондықтан мен оны іске қостым, екі ойыншының әрекеттері құрылғыларда синхрондалады, бірақ өмір олай етпейді. қарсыластардың құрылғыны тастамаңыз. Сондай -ақ, снаряд механикасында қате бар, снарядтар қабырғаға тигеннен кейін жоғалмайтын сияқты, бұл 10 -ға жуық снаряд атылғаннан кейін ойынның байланысын жоғалтады.
Сіз оны ойнату үшін GitHub репозиторийінен-p.webp
6 -қадам: Cthulhu күресі басталсын
Біздің қарапайым жауынгерлік ойынға әлі де көптеген жақсартулар енгізуге болады - мысалы, сіз AI -дің күрделілігін қоса аласыз немесе түймешіктер мен/немесе анимация тізбегін қосу үшін кеңейтімді қолдана аласыз. GameGo және Makecode Arcade көмегімен өз ойындарыңызды бағдарламалау кезінде сәттілік пен көңілді болыңыз.
Егер сіз ойынның жақсартылған нұсқасын жасасаңыз, оны төмендегі түсініктемелерде бөлісіңіз! GameGo және өндірушілер мен STEM тәрбиешілеріне арналған басқа да жабдықтар туралы қосымша ақпарат алу үшін біздің веб -сайтқа кіріңіз, https://tinkergen.com/ және біздің ақпараттық бюллетеньге жазылыңыз.
Ұсынылған:
Arduino контроллерімен көп ойыншы ойынын қалай жасауға болады: 6 қадам
Arduino контроллерімен көп ойыншы ойынын қалай жасауға болады: Сіз ойын әзірлеушілері бүкіл әлемде адамдар ойнайтын таңғажайып ойындарды қалай жасайтыны туралы ойландыңыз ба? Ал, бүгін мен сізге Arduino бақылаушы басқаратын шағын көп ойыншы ойынын жасау арқылы бұл туралы аз ғана кеңес бергім келеді
Makecode Arcade көмегімен GameGo -да шексіз деңгейлері бар платформер: 5 қадам (суреттермен)
Makecode Arcade көмегімен GameGo -да шексіз деңгейлері бар платформер: GameGo - бұл TinkerGen STEM білімі әзірлеген Microsoft Makecode үйлесімді ретро ойын портативті консолі. Ол STM32F401RET6 ARM Cortex M4 чипіне негізделген және STEM тәрбиешілеріне немесе ретро бейне ойындар жасауды ұнататын адамдарға арналған
Коронавируспен күрес: қарапайым қол жуу таймері: 8 қадам (суреттермен)
Коронавируспен күрес: қарапайым қол жууға арналған таймер: Қазіргі әлемдегі пандемия кезінде жағдай өте қорқынышты болып көрінеді. Корона вирусы кез келген жерде болуы мүмкін. Біз білетіндей, адам вирусты бірнеше күн бойы ешқандай симптомсыз да алып жүруі мүмкін. Шынымен де қорқынышты. Бірақ, қатты қорықпаңыз
Battle City ремейктері GameGo -да Makecode Arcade көмегімен: 4 қадам (суреттермен)
Battle City ремейктері GameGo -де Makecode Arcade көмегімен: GameGo - бұл TinkerGen STEM білімімен жасалған Microsoft Makecode үйлесімді ретро ойын портативті консолі. Ол STM32F401RET6 ARM Cortex M4 чипіне негізделген және STEM мұғалімдеріне немесе ретро видео жасауды ұнататын адамдарға арналған
Бас бармақпен күрес: Жарықтың бас бармағының жеңісі (В.О.Л.Т.): 6 қадам
Бас бармақтың таңғажайып күресі: Жарықтың бас бармағының жеңісі (V.O.L.T.): Ойынның соңғы нұсқасы - бұл ең маңыздысы! Daarnaast telt het apparaat zelf af tot 3, zodat je nooit meer vals kan spelen