Բովանդակություն:
- Պարագաներ
- Քայլ 1: Մեր այլ -էգոն `դեղին բաք
- Քայլ 2: Դուրս բերեք թշնամիներին
- Քայլ 3: Խաղի 42
- Քայլ 4: Անվերջ խաղ և բարելավումներ
Video: Battle City Remake- ը GameGo With Makecode Arcade- ի հետ. 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
GameGo- ն Microsoft Makecode- ի հետ համատեղելի ռետրո խաղային շարժական վահանակ է, որը մշակվել է TinkerGen STEM կրթության կողմից: Այն հիմնված է STM32F401RET6 ARM Cortex M4 չիպի վրա և պատրաստված է STEM մանկավարժների կամ պարզապես այն մարդկանց համար, ովքեր սիրում են զվարճանալ ՝ ստեղծելով ռետրո տեսախաղեր: Կարող եք հետևել այս ձեռնարկին և փորձել խաղը Makecode Arcade simulator- ում, այնուհետև այն գործարկել GameGo- ով:
Այս հոդվածում մենք մեր ուժերը կփորձենք վերստեղծել դասական Battle City տանկային հրաձիգ խաղ, որն ի սկզբանե արտադրվել և հրապարակվել է 1985 թվականին Namco- ի կողմից Nintendo Entertainment System (NES) - ի համար: Բնօրինակ խաղում խաղացողը վերահսկում է տանկը և կրակում արկերը `թշնամու տանկերը ոչնչացնելու համար: Թշնամու տանկերը փորձում են ոչնչացնել խաղացողի հենակետը, ինչպես նաև խաղացողի բաքը: Մենք որոշակի փոփոխություններ կկատարենք խաղի մեջ, որպեսզի ավելի լավ տեղավորենք բլոկային ծրագրավորման պրակտիկան GameGo- ի հետ, սակայն մեր վերարտադրությունը դեռ շատ նմանություն կպահպանի սկզբնական խաղի հետ: Եկեք սկսենք!
Պարագաներ
GameGo
Քայլ 1: Մեր այլ -էգոն `դեղին բաք
Բացեք Makecode Arcade- ը https://arcade.makecode.com/ հասցեով և կտտացրեք նոր նախագծին: Մենք կսկսենք մեր ալտեր-էգոն դարձնել դեղին բաք: Ընտրեք Set mySprite ՝ բարի խաղացողի բլոկը սփռելու համար և դեղին բաք նկարեք դեպի վերև ՝ որպես մեր մեկնարկային սփրեյթ, տեղադրեք այդ բլոկը մեկնարկային բլոկի ներսում: Ավելացնել move mySprite կոճակների բլոկով: Այժմ մենք ունենք տանկ, որը կարող ենք շարժվել մոդելավորման կոճակներով: Հիանալի է, բայց այն միշտ ուղղված է նույն ուղղությամբ, նույնիսկ երբ ներքև կամ կողքով ենք շարժվում…
Դա շտկելու համար ավելացնենք ևս չորս բլոկ, մեկը յուրաքանչյուր ուղղության կոճակի համար: Ստեղծեք նոր փոփոխական, որը կոչվում է ուղղություն. Մենք կփրկենք դրա մեջ մեր տանկի շարժման ուղղությունը, 100 -ը կհամապատասխանի ներքևին, -100 -ը կհամապատասխանի վերևին, 200 աջ և 200 ձախ. Ինչու՞ են այս թվերը: Կտեսնեք ավելի ուշ, երբ մենք ավելացնենք արկերը, որոնք մեր տանկը կկրակի: Այս չորս բլոկներից յուրաքանչյուրի տրամաբանությունը շատ պարզ է. Մենք ստուգում ենք, թե արդյոք նոր ուղղությունը (կոճակի սեղմումից) նույնն է, ինչ նախկինում: Եթե դա այդպես է, մենք հիմնականում ոչ մի փոփոխություն չենք կատարում: Եթե դա այդպես չէ, մենք փոխում ենք տանկի սպրայտը, իսկ ներքևի և ձախ ուղղությամբ այն շրջում ենք սպրայտի պատկերը `խուսափելու համար լրացուցիչ բծեր նկարելուց: Վերջապես, եկեք ուղղության մեկնարկային արժեքը նշանակենք -100 (տանկը դեպի վեր), քանի որ այսպես է մեր տանկը սկսում խաղը: Փորձեք տեղափոխել դեղին բաքը հիմա, սպրիտը կփոխվի շարժման ուղղության համաձայն: Գերազանց, հիմա եկեք ավելացնենք փամփուշտներ:
Մենք արձակված արկով գնդակներ ենք արձակելու դեպի արկ (նկարեք արծաթե փոքր քառակուսի այդ սփրիտի համար) mySprite- ից vx vy արագությամբ: Սեղմված բլոկի կոճակի ներսում մենք պետք է ստուգենք ուղղության բացարձակ արժեքը `տեսնելու համար, թե արդյոք դեղին բաքը թեքված է ձախից/աջից վերև/ներքև: Այնուհետև մենք շարունակում ենք արկը արձակել ուղղության փոփոխականի արագությամբ: Ահա թե ինչու մենք ունեինք -100/100/-200/200 ուղղության արժեքների համար:
Այժմ մենք ունենք դեղին տանկ, որը կարող է արձակել արկեր և շարժվել: Եթե դեղին մոդելավորվող տանկերը կարողանային զգալ, ապա դա, անշուշտ, միայնակ կլիներ այս դատարկ դատարկության մեջ ՝ առանց թշնամիների և անելիքների: Այսպիսով, հաջորդ քայլին եկեք թշնամիներ ավելացնենք, որպեսզի այն ժամանակ անցնի:
Քայլ 2: Դուրս բերեք թշնամիներին
Մենք կսկսենք այս քայլը `ստեղծելով մի շարք նոր փոփոխականներ. Երկու զանգված (մեկը` թշնամու բծերը պահելու և մյուսը `թշնամու ուղղությունները պահելու համար), ձվադրման ժամանակի փոփոխական` ձվադրումների միջև ընկած ժամանակահատվածը պահելու համար, թշնամու հաշվարկը `թշնամիների առավելագույն քանակը պահելու համար: միեւնույն ժամանակ. Մենք նաև կավելացնենք երկու արկ (արկ և թշնամու արկ), որոնք կրակում են մեկնարկային բլոկի վրա, ինչը կօգնի մեզ հետագայում խուսափել սխալից:
Հաջորդը մենք խաղի թարմացման վրա ստեղծում ենք յուրաքանչյուր… ms արգելափակում, այնտեղ տեղադրում spawn_time փոփոխական: Բլոկի ներսում տրամաբանությունը պարզ է. Եթե մարտի դաշտում թշնամիների ընդհանուր թիվը պակաս է թշնամիների առավելագույն թույլատրելի թվից, թշնամի ավելացրու dijmin_շինական_լիս և ավելացրու 200 (գնում է ճիշտ) ուղղություն այդ թշնամու համար:
Հաջորդը, ստեղծվող բարի թշնամու բլոկում մենք ավելացնում ենք մի քանի գրաֆիկական էֆեկտներ, տեղադրում դրանք պատահական դատարկ սալիկի վրա և կանչում pick_direction գործառույթը այս սփրայթի համար: Բազում թշնամին հարվածում է պատին, մենք նույն գործառույթն ենք անվանում `pick_direction:
Ի՞նչ կա այդ գործառույթի մեջ: Ահա, որտեղ ամեն ինչ սկսում է մի փոքր բարդանալ, այնպես որ սպասեք: Թշնամու տանկը բարձրանալու և իջնելու 50 տոկոս հավանականություն կա. Մենք համապատասխանաբար փոխում ենք սպրիտը: Այստեղ միակ հնարքն այն է, որ մենք նաև պետք է փոխենք հակառակորդի տանկի համապատասխան արժեքը թշնամու_ուղղորդված_ ցուցակում `իր նոր ուղղությամբ, այնպես որ մենք կցանկանայինք, որ այն գնդակներ արձակեր ճիշտ ուղղությամբ: Դրա համար մենք թշնամու sprite- ի ինդեքսը գտնում ենք دشمن_շրջանի_շրջանում և այդ նյութի արժեքը փոխում ենք թշնամու_ուղղությունների ցուցակում:
Ի վերջո, եկեք ավելացնենք կրակոցներ: Խաղի թարմացման վրա մենք ավելացնում ենք ևս մեկ 500 մկս յուրաքանչյուր արգելափակում և նյութի համար տեղադրում ենք թշնամու_շրջանի_լրացում: 30% հավանականությամբ թշնամու սայթաքուն կրակի թշնամու արկը իր շարժման ուղղությամբ:
Եթե խաղը սկսենք սիմուլյացիայի միջոցով, ապա կտեսնենք, որ մեր դեղին տանկը և հակառակորդի տանկերը հայտնվում են նույն կետում և մտնում դատարկ տարածություն: Մենք կարող ենք կրակել, և նրանք կարող են կրակել մեր դեղին տանկի վրա, բայց ոչինչ չէր լինի: Այն դեռ այնքան անիմաստ է զգում:) Եկեք ավելացնենք դեկորացիաներն ու խաղային մեխանիզմները որպես վերջին քայլ:
Քայլ 3: Խաղի 42
Մենք պատրաստվում ենք սկսել այս քայլը ՝ ավելացնելով կյանք և միավոր «Տեղեկատվություն» ներդիրից, իսկ կյանքը սահմանելով 10 և միավոր զրոյի: Այնուհետև ավելացնում ենք բլոկների սալիկների քարտեզը…. Նկարեք ֆայլի քարտեզը, որպեսզի տեսնեք այն, ինչ տեսնում եք վերևի սքրինշոթում: Մի մոռացեք ավելացնել պատերը:
Եկեք ավելացնենք բարի արկ, որը համընկնում է մյուսին: Մենք պետք է համոզվենք, որ այս արկերը թշնամու գնդակներ են և ոչ թե մեր սեփականը, ուստի մենք կավելացնենք, որ եթե բլոկի ներսում վիճակը և եթե այն գնահատվում է որպես Trueշմարիտ, ապա մեկը հանենք կյանքի հաշվից: Նմանապես, մեկ այլ բլոկի վրա Sprite տեսակի Արկը համընկնում է մյուսի Բարի տեսակի թշնամին մենք համոզվում ենք, որ արկը դեղին տանկից արկ է, և եթե այս պայմանը գնահատվի որպես Trueշմարիտ, մենք ոչնչացնում ենք այլ Գիշերը (թշնամու տանկը), հանում ենք ցուցակից թշնամու_գույքի ցանկից և ավելացրեք մեկը միավորին:
Վերջին բանը հաղթանակի և պարտության պայմաններն են. Հաղթանակի համար մենք ստուգելու ենք, որ միավորն ավելի բարձր է, թե՞ հավասար է 10 -ի ընդմիշտ բլոկում: Եթե այդպես է, ապա մենք ցույց ենք տալիս հաղթանակի էկրանը: Իսկ կյանքի զրոյական բլոկում մենք ցուցադրում ենք Game Over էկրանը:
Այժմ փորձեք այն սիմուլյացիայի մեջ ՝ տեսնելու, թե արդյոք խաղն ընթանում է սպասվածի պես: Ապա վերբեռնեք այն GameGo- ում և վայելեք թշնամու տանկերը ջարդելուց:
Քայլ 4: Անվերջ խաղ և բարելավումներ
Մեր GitHub շտեմարանում կարող եք ներբեռնել Makecode arcade- ի երկու ֆայլ. Մեկը նույնն է, ինչ կստանաք, եթե հետևեք այս հրահանգին, իսկ մյուսը `արդիականացված տարբերակին, որը պատահականորեն առաջացրել է մակարդակի առաջընթաց: Այն ունի 10 մակարդակ, որոնցից յուրաքանչյուրը պատահականորեն ստեղծվում է յուրաքանչյուր հաջորդ մակարդակում թշնամիների ավելացման հետ:
Եվ, իհարկե, կան ավելի շատ բաներ, որոնք դուք կամ ձեր ուսանողները կարող եք ավելացնել խաղին ի լրումն դրա: Կա ավելի լավ երաժշտություն, փշրվող պատեր, հաղթանակի տարբեր պայմաններ և այլն:
Եթե դուք իսկապես կատարելագործում եք խաղի տարբերակը, կիսվեք այն ստորև բերված մեկնաբանություններում: GameGo- ի և արտադրողների և STEM մանկավարժների համար լրացուցիչ սարքավորումների մասին լրացուցիչ տեղեկությունների համար այցելեք մեր կայքը ՝ https://tinkergen.com/ և բաժանորդագրվեք մեր բլոգին:
TinkerGen- ը սկսել է Kickstarter արշավը MARK- ի համար (Make A Robot Kit), կոդավորման, ռոբոտաշինության, AI- ի ուսուցման ռոբոտների հավաքածու:
Խորհուրդ ենք տալիս:
Happyնունդդ շնորհավոր Water Synthesizer- ի հետ MakeyMakey- ի և Scratch- ի հետ. 5 քայլ
Happyնունդդ շնորհավոր Water Synthesizer- ի հետ MakeyMakey- ի և Scratch- ի միջոցով. Ersաղիկների և երգելու փոխարեն կարող եք կառուցել այս տեղադրումը որպես մեծ անակնկալ ծննդյան տարեդարձերի համար
(Multiplayer) Fighting on GameGo With Makecode Arcade: 6 Steps
(Multiplayer) Fighting on GameGo With Makecode Arcade: GameGo- ն Microsoft Makecode- ի հետ համատեղելի ռետրո խաղային շարժական վահանակ է, որը մշակվել է TinkerGen STEM կրթության կողմից: Այն հիմնված է STM32F401RET6 ARM Cortex M4 չիպի վրա և պատրաստված է STEM մանկավարժների կամ պարզապես այն մարդկանց համար, ովքեր սիրում են զվարճանալ ՝ ստեղծելով ռետրո վիդեո
Անսահման մակարդակներով հարթակ GameGo With Makecode Arcade: 5 քայլ (նկարներով)
GameGo- ն անսահմանափակ մակարդակներով GameGo With Makecode Arcade- ով. GameGo- ն Microsoft Makecode- ի հետ համատեղելի ռետրո խաղային շարժական վահանակ է, որը մշակվել է TinkerGen STEM կրթության կողմից: Այն հիմնված է STM32F401RET6 ARM Cortex M4 չիպի վրա և պատրաստված է STEM մանկավարժների կամ պարզապես այն մարդկանց համար, ովքեր սիրում են զվարճանալ ՝ ստեղծելով ռետրո տեսախաղ
RGB- ի հետ կապը Arduino- ի հետ TinkerCad- ում. 4 քայլ
RGB- ի հետ կապը Arduino- ի հետ TinkerCad- ում. Այս ձեռնարկում դուք կսովորեք Arduino RGB- ի միջոցով ինտերֆեյսերի մասին: RGB լուսարձակը բաղկացած է երեք տարբեր լուսարձակից, անունից կարող եք կռահել, որ այդ LED- ները կարմիր, կանաչ և կապույտ են: Մենք կարող ենք ձեռք բերել շատ այլ գույներ ՝ այս գույները խառնելով: The
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi