Բովանդակություն:
Video: Arduino Space Rocks խաղ. 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Անկախ նրանից, թե դրանք խաղում են համակարգչի վրա, հեռախոսով, խաղային վահանակով կամ առանձին տուփով, շատ տեսախաղեր ներառում են խոչընդոտներից խուսափելու տարր: Իհարկե, կարող են միավորներ շնորհվել խորհրդանիշներ հավաքելու կամ լաբիրինթոսում ձեր ճանապարհը գտնելու համար, բայց վստահ եղեք, որ հավանաբար խաղի մեջ կա ինչ -որ բան, որի միակ նպատակը ձեզ կանխելն է դա անել: Առաջին տեսախաղը Պոնգն էր, բայց դրանից հետո ամենահայտնին այնպիսի խաղեր էին, ինչպիսիք էին «Աստերոիդները» կամ «Pac-Man»-ը: Ավելի նոր տարբերակ կլինի «Flappy Birds» - ի պարզ, բայց կախվածություն առաջացնող խաղը:
Վերջերս ես տեսա, որ ինչ-որ մեկը պատրաստել է «Flappy Bird»-ի պարզ երկաստիճան տարբերակ, որը նվագարկվել է ընդհանուր 1602 LCD- ով: Ես մտածեցի, որ դա այն է, ինչ թոռներին դուր կգա, ուստի որոշեցի զրոյից անել իմ սեփական տատանումները: 1602 տարբերակն ունի միայն երկու մակարդակ, ուստի ես որոշեցի օգտագործել 2004 թվականի LCD (20x4) փոխարեն խաղը փոքր -ինչ մեծացնելու խաղը: Ես նաև նախընտրեցի այն դարձնել ավելի «Աստերոիդներ» ՝ խաղացողին հանձնարարելով «նավ» ուղեկցել «տիեզերական ժայռերի» լաբիրինթոսով: Նույնիսկ եթե դուք շահագրգռված չեք խաղը կառուցելով, կարող են լինել ծրագրաշարի որոշ տարրեր, որոնք կարող եք օգտագործել ձեր սեփական նախագծերից մեկում:
Քայլ 1: Սարքավորումներ
Սարքավորումը կարող է հիմնված լինել գրեթե ցանկացած Arduino տարբերակի վրա: Ես պատրաստեցի նախատիպը ՝ օգտագործելով Nano- ն, այնուհետև ծածկագիրն այրեցի ATMega328 չիպի մեջ: Դա նույն չիպն է, որն օգտագործվում է Նանոյում, բայց ինքնին օգտագործելը թույլ է տալիս ավելի կոմպակտ կառուցվածք ունենալ և ավելի քիչ էներգիա ծախսել: Ինչպես տեսնում եք, ես միացումը կառուցեցի մի փոքրիկ տախտակի վրա, որը խոզուկներ էր դրել LCD մոդուլի վրա: Մյուս կողմը, որը տարբերվում է, այն է, որ Nano- ն աշխատում է 16 ՄՀց հաճախականությամբ ՝ օգտագործելով արտաքին բյուրեղ, բայց ես նախընտրեցի օգտագործել ներկառուցված 8 ՄՀց տատանում ՝ ATMega328 չիպի համար: Դա խնայում է մասերն ու ուժը:
2004 թվականի LCD- ն Arduino- ին միանում է այնպես, ինչպես 1602 LCD- ը: Հետաքրքիր տարբերություն ցուցադրման վայրերի հասցեավորման մեջ է: Ակնհայտ է, որ տարբերություն կա, քանի որ երկուսի փոխարեն կա չորս տող, բայց 2004 -ին երրորդ տողը առաջին տողի ընդլայնումն է, իսկ չորրորդը `երկրորդ տողի ընդլայնումը: Այլ կերպ ասած, եթե դուք ունենայիք թեստային ծրագիր, որը պարզապես մի շարք նիշ էր ուղարկում LCD- ին, 21 -րդ նիշը կհայտնվեր երրորդ տողի սկզբում, իսկ 41 -րդ նիշը կվերադառնա մինչև առաջին տողի սկիզբը: Ես օգտագործում եմ այդ բնութագիրը ծրագրաշարում `արդյունավետորեն կրկնապատկելու լաբիրինթոսի երկարությունը:
Ես որոշեցի մարտկոցով աշխատեցնել իմ տարբերակը, այնպես որ ես օգտագործեցի սովորական 18650 Li-ion, 3.6 վոլտ մարտկոց: Դրա համար անհրաժեշտ էր ավելացնել մի փոքր տախտակ, որը թույլ կտա USB- ի լիցքավորումը, և մեկ այլ փոքր տախտակ `մարտկոցի լարումը մինչև 5 վոլտ LCD- ի և ATMega չիպի համար: Նկարները ցույց են տալիս իմ օգտագործած մոդուլները, բայց կան նաև բոլորը մեկում մոդուլներ, որոնք կատարում են երկու գործառույթները:
Քայլ 2: Softwareրագրակազմ
Theրագրակազմը նույնն է ինչպես Nano- ի, այնպես էլ ATMega328 չիպի համար: Տարբերությունը միայն ծրագրավորման մեթոդի մեջ է: Ես օգտագործում եմ 1602 LCD ծրագրակազմի իմ բոբիկ տարբերակը և այս ծրագրում LCD ծրագրակազմը հիմնված է դրա վրա: Ես իսկապես պետք է ավելացնեի հնարավորություններ `2004 թվականի ցուցադրման լրացուցիչ տողերին անդրադառնալու համար, ինչպես նաև ցուցադրման փոփոխման ռեժիմներ ավելացնելու համար: Displayուցադրման հերթափոխը ապահովում է «նավից» անցնող «ժայռերի» շարժման էֆեկտը:
Ինչպես արդեն նշվեց, 1 -ին և 3 -րդ տողերը կազմում են շրջանաձև հերթ, իսկ 2 -րդ և 4 -րդ տողերը ՝ նույնպես: Դա նշանակում է, որ 20 հերթափոխից հետո 1 և 3 տողերը փոխվում են, իսկ 2 և 4 տողերը ՝ փոխվում: 40 հերթափոխից հետո գծերը վերադառնում են իրենց սկզբնական դիրքերին: Այս վարքագծի պատճառով սկզբնական 20 նիշանոց լաբիրինթոսը բոլորովին այլ է դառնում, երբ գծերը փոխվում են: Դա հետաքրքիր էր դարձնում կյանքը, երբ փորձում էի լաբիրինթոս ձևավորել: Վերջապես ես պարզապես բացեցի Excel աղյուսակ, որպեսզի կարողանամ գծել ուղին ՝ առանց ծրագրակազմը անընդհատ փոխելու: Այստեղ ներկայացված ծրագրակազմն ունի լաբիրինթոսի երկու տարբերակ (մեկը մեկնաբանվում է), այնպես որ կարող եք ընտրել, թե որն եք ցանկանում կամ կազմել ձեր սեփականը:
Ես ի սկզբանե ցանկանում էի, որ սա այնքան պարզ լինի, որ երիտասարդ թոռները կարողանային խաղալ այն, բայց ես նաև ցանկանում էի, որ այն ունենար լրացուցիչ մարտահրավեր, եթե նրանք (կամ մեկ ուրիշը) դրան շատ լավ տիրապետեին: Խաղը սկսվում է 1 վայրկյան սահմանած հերթափոխի արագությամբ: Ներքին տիկնաչափը 50ms է, ինչը նշանակում է, որ կա 20 ընդմիջում, որոնց ընթացքում կարելի է սեղմել վեր/վար կոճակները: Իրականում, սեղմված կոճակը սպառում է 2 տիկ, քանի որ 50 մմ ընդմիջում է օգտագործվում մամուլը հայտնաբերելու համար, և մեկ այլ 50 մս ընդմիջում `արձակմանը սպասելու համար: Լռելյայն լաբիրինթոսով, հաջորդ հերթափոխից առաջ պահանջվող սեղմումների առավելագույն թիվը երեքն է: Խաղի դժվարությունը մեծացնելու պարզ միջոցը հերթափոխների միջև ժամանակի կրճատումն է, այնպես որ կոդի մի քանի տողերը դա անում են հենց հաշիվը բարձրացնելիս: Տեղափոխման արագությունը պետք է արագանա 50 մգ յուրաքանչյուր 20 հերթափոխով, իսկ նվազագույն արագությունը սահմանափակվի 500 մ: Այս պարամետրերը հեշտ է փոխել:
Տեղափոխման արագությունը փոխելուց բացի, ծրագրաշարի հիմնական տրամաբանությունը «նավը» տեղափոխելն է և որոշել ՝ արդյոք «նավը» բախվե՞լ է «ժայռի» հետ: Այս գործառույթներն օգտվում են սահմանված «ժայռ/տարածություն» զանգվածից, ինչպես նաև այն զանգվածից, որը սահմանում է ցուցադրման հիշողության վայրերը: Տեղափոխման հաշվարկը համապատասխանում է LCD- ի գծի երկարությանը (0-19) և օգտագործվում է որպես ինդեքս այս զանգվածների մեջ: Տրամաբանությունը որոշ չափով բարդանում է նրանով, որ գծերը փոխվում են յուրաքանչյուր 20 հերթափոխի հաշվարկի ժամանակ: Նմանատիպ տրամաբանություն է օգտագործվում «նավի» դիրքը որոշելու համար, որը կարող է լինել չորս տողերից որևէ մեկի վրա:
Յուրաքանչյուր խաղի հաշիվը պարզապես տեղի ունեցած տեղաշարժերի քանակն է, և բարձր գնահատականը պահվում է միկրոկառավարիչի ներքին EEROM- ում: EEPROM գրադարանը օգտագործվում է այս հիշողության համար կարդալու և գրելու համար: Առկա ռեժիմները թույլ են տալիս մեկ բայթ կարդալ/գրել և կարդալ/գրել լողացող կետերի արժեքներ: 0xA5 արժեքը պահվում է առաջին EEROM վայրում `նշելու, որ բարձր միավորը պահպանվել է: Եթե այդ արժեքը ներկա է միացման ժամանակ, ապա բարձր միավորի համար լողացող կետի արժեքը կարդացվում և ցուցադրվում է: Եթե 0xA5 արժեքը բացակայում է, ապա ռեժիմը կոչվում է բարձր գնահատականը սկսելու համար մինչև 1 արժեք: Այդ նույն ռեժիմը կոչվում է, եթե ցանկալի է բարձր միավորի վերականգնում: Բարձր միավորը կրկին դրվում է 1 արժեքի ՝ պահելով վերև/ներքև կոճակներից մեկը, այնուհետև մի պահ սեղմելով վերակայման կոճակը:
Քայլ 3: Խաղացեք խաղը
Երբ էներգիան կիրառվում է, ներկայիս բարձր միավորը ցուցադրվում է: Բարձր գնահատականի ցուցադրումից հետո ցուցադրվում են «ժայռերի» և «նավի» լաբիրինթոսը, իսկ խաղը սկսվում է մի քանի վայրկյան անց: Երբ «նավը» հարվածում է «ժայռին», «ASԱԽԵԼ ԵՎ ԱՅՆԵԼ» հաղորդագրությունը մի քանի անգամ թարթում է խաղի հաշիվը ցուցադրելուց առաջ: Եթե նոր բարձր գնահատական է տրվում, ապա այդ հաղորդագրությունը նույնպես ցուցադրվում է: Նոր խաղ է սկսվում ՝ սեղմելով վերակայման կոճակը:
Խորհուրդ ենք տալիս:
DIY 37 Leds Arduino ռուլետկա խաղ. 3 քայլ (նկարներով)
DIY 37 Leds Arduino Ռուլետկա խաղ. Ռուլետկա կազինո խաղ է, որը կոչվում է ֆրանսերեն բառի անունով, որը նշանակում է փոքրիկ անիվ
3D Maze խաղ Arduino- ի միջոցով. 8 քայլ (նկարներով)
3d Maze Game օգտագործելով Arduino. Բարև ընկերներ, այնպես որ այսօր մենք պատրաստվում ենք լաբիրինթոս խաղ պատրաստել ARDUINO UNO- ի միջոցով: Քանի որ Arduino Uno- ն առավել հաճախ օգտագործվող տախտակն է, դրա հետ խաղեր պատրաստելը շատ թույն է: Այս Ուղեցույցում թույլ է տալիս կատարել լաբիրինթոս խաղ, որը վերահսկվում է ջոյստերի միջոցով: Մի մոռացեք
Էլեկտրոնային խաղ Tic-Tac-Toe խաղ փայտե տուփի մեջ. 5 քայլ
Էլեկտրոնային խաղ Tic-Tac-Toe- ը փայտե տուփի մեջ
Aruduino LED խաղ Արագ կտտացնելով երկու խաղացողի խաղ. 8 քայլ
Aruduino LED խաղ Արագ սեղմում երկու խաղացողի խաղ. Այս նախագիծը ոգեշնչված է @HassonAlkeim- ից: Եթե պատրաստ եք խորը հայացք նետել, այստեղ կա մի հղում, որը կարող եք ստուգել https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/: Այս խաղը Alkeim's- ի կատարելագործված տարբերակն է: Դա է
TRASH ROCKS - Վերացրեք չվերամշակելի աղբարկղը. 8 քայլ
ASԱՆOCԵՐ - Վերացրեք չվերամշակվող աղբը. Աղբի ժայռ պատրաստելու համար պարկը նախ կարվում է ցանցի ցանցից: Այն լցված է աղբով և սվաղված ցեմենտով: Ստացված պատյանները յուրահատուկ են իրենց տեսքով և շատ բնական տեսք ունեն: Աղբի ժայռերը էսթետիկորեն հաճելի և կառուցողական են