Përmbajtje:

4 lojëra me butona duke përdorur një hyrje analoge: 6 hapa (me fotografi)
4 lojëra me butona duke përdorur një hyrje analoge: 6 hapa (me fotografi)

Video: 4 lojëra me butona duke përdorur një hyrje analoge: 6 hapa (me fotografi)

Video: 4 lojëra me butona duke përdorur një hyrje analoge: 6 hapa (me fotografi)
Video: КАКИМ БУДЕТ PORTAL 3 2024, Korrik
Anonim
Image
Image

Ky udhëzues fokusohet në përdorimin e një linje hyrëse analoge për butona të shumtë të cilët mund të zbulohen të pavarur nga njëri -tjetri.

Dhe për të nxjerrë në pah përdorimin e këtyre butonave të përfshirë është softueri për të luajtur katër lojëra të ndryshme me 4 Butona. Të gjitha lojërat (gjithsej 8) këtu përdorin një ekran me shkallë Led (referojuni projektit të mëparshëm: udhëzime: Lojëra me një linjë-LED-ekran).

Ju mund të përdorni montimin tuaj me 4 butona me dalje të tjera të ekranit, thjesht përdorni funksionin 'scanButtons ()' nga një nga skicat e përfshira. Dhe përdorni ato skica për shembull përdorimin e tyre.

Lojërat janë një lojë aftësish: Whack-a-Mole, një lojë kujtese: Simon Thotë, lojërat logjike Sea Hunt dhe Flip'd një lojë me dy lojtarë të ngjashme me Reveri. Më vonë, në këtë udhëzues, unë gjithashtu do të prezantoj më vonë katër lojëra me dy persona, konkurs kokë më kokë.

Hapi 1: Përcaktimi i Konfigurimit Optimal të Butonit

Thjesht përdorimi i disa rezistencave në seri me butona të prekur midis secilës do të funksionojë nëse nuk keni pse të shqetësoheni për shtypjen e një butoni duke mbyllur një tjetër. Në një konfigurim të tillë, çdo buton, kur shtypet, bllokon çdo gjë nën të. Edhe kur keni nevojë vetëm për dy butona dhe kujdeseni vetëm për një në të njëjtën kohë, si në zbatimin e ping-pongut; do të ishte një problem, nëse një lojtar dështon (thjesht duke qenë shumë i ngadalshëm, ose me qëllim të keq) të heqë gishtin nga butoni para se tjetri të godasë atë.

Butonat e shumtë shpesh janë lidhur me një linjë të vetme analoge secila me vlerat e veta të ndryshme të rezistencës që shkojnë në hyrje. Ju, mjaft lehtë, mund të dalloni se cili buton ose çift shtypet kur ka vetëm 2 ose 3 butona. Por jo në mënyrë të besueshme me më shumë butona ose më shumë se dy të shtypur, pasi kombinimi më i keq i leximeve bëhet në mënyrë të paqartë shumë afër njëra -tjetrës.

Këtu me atë që unë e quaj një konfigurim Double-Y të katër butonave dhe rezistencave, ju mund të dalloni me besueshmëri çdo buton të vetëm, të dyfishtë, madje edhe të trefishtë ose të katër butonat që shtypen. Drejtuesi i softuerit për ta bërë këtë është i mbuluar në pjesën tjetër dhe listën e kodeve.

Me dëshirën për të pasur katër butona të bashkangjitur në një hyrje analoge ku shtypja e secilit buton mund të zbulohej pavarësisht nga gjendja e butonave të tjerë, modelova disa konfigurime në një spreadsheet. Kam gjetur se një konfigurim i dyfishtë Y (i përbërë nga 2 grupe me tre rezistorë) dha mundësitë më të mira. Shihni diagramin skematik të instalimeve elektrike më poshtë. Unë po i vlerësoja ato bazuar në ndarjen më të madhe të rezistencës totale midis dy kombinimeve të butonave të shtypur. Unë modelova më tej vlerat analoge të llogaritura. Referojuni skedarit të tabelave më poshtë.

Për të përcaktuar vlerat më të mira për t'u përdorur në konfigurimet e mësipërme, unë shkrova një simulim, i cili provoi në mënyrë shteruese të gjitha ndërrimet e mundshme të vlerave të mundshme të rezistencës, duke gjetur grupin që prodhoi diferencën maksimale më të vogël midis hyrjeve të mundshme të leximit. Unë kam dhënë kodin që kam përdorur. Ky ishte një mjet brutal i forcës që unë bashkova, mora atë që doja dhe e lashë mënjanë, kështu që nuk u optimizua në asnjë mënyrë. Totallyshtë plotësisht ashtu siç është, vetëm për referencë historike (Solve_4R.html më poshtë).

Këtu është prodhimi i tij për rishikim:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 min R delta: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 minR delta: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 minR delta: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 minR delta: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 minR delta: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 delta minR: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR delta: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR delta: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR delta: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 minR delta: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR delta: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 minR delta: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 minR delta: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 minR delta: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 minR delta: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 minR delta: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 minR delta: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 minR delta: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 minR delta: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 minR delta: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR delta: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR delta: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR delta: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR delta: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 min R delta: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 minR delta: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 minR delta: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 minR delta: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR delta: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR delta: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 minR delta: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171

Hapi 2: Asambleja ime me 4 Butona

Asambleja ime me 4 Butona
Asambleja ime me 4 Butona

Për katër butonat e mi kam përdorur këto butona dhe një PCB të shpuar dhe rezistorë siç tregohet në diagramin e mësipërm. Mënyra se si i zbatoni fizikisht katër butonat tuaj është e hapur dhe varet nga ju dhe nevojat e projekteve tuaja. Për sa kohë që është elektrikisht ajo që është në diagramin e mësipërm. Sigurohuni që montimi juaj i konstruksionit është i tillë që nuk do të bëni asnjë kontakt me instalimet elektrike në butona pasi kjo do të hedhë poshtë leximet duke rezultuar në sjellje të gabuar të butonit.

Unë kam një buton të shtuar të vogël në tabelën time të cilën e përdor si çelës 'Funksioni'. Inshtë në seri me një rezistencë 2 megohm, e cila nuk i heq ndjeshëm leximet e mia të tjera të hyrjes; megjithëse mund ta zbuloj vetëm kur shtypet vetëm. Ju mund ta injoroni atë ose të kontrolloni kodin për të kuptuar më tej se si e përdor atë.

Skica e testit 'Test_12Leds_6Btns' mund të përdoret për të testuar zbulimin e shtypjeve të butonave nga MCU -ja juaj dhe montimi aktual i butonave. Prodhimi i tij është vendosur të shihet ose me një Shkallë LED ose monitor serik. Mund të modifikohet lehtësisht për të dalë përmes çfarëdo lloji të ekranit që mund të keni.

Ju mund të keni nevojë të rregulloni grupin e leximeve të referencës me të cilën ai krahason hyrjen, për shkak të dallimeve të mundshme në rezistencën e brendshme tërheqëse të MCU tuaj ose në tolerancat e rezistencave që përdorni. Nëse dëshironi, mund të përdorni rezistorë precizë, me shpresë që të mos keni nevojë të bëni rregullime kalibrimi. Nga rruga, unë nuk kam përdorur një tërheqje të jashtme pasi do të ndërhynte në përdorime të tjera që planifikoj për një nga projektet e mia.

Një nga veprimet kryesore të softuerit të ndërmarra, për të siguruar që përcaktimi se cili buton (et) janë të shtypur nuk ndikohet nga niveli i tensionit të furnizimit (&/ose varianca MCU), është në shkallë hyrja analoge bazuar në leximin maksimal të saj, e cila nga ana tjetër ndikohet nga tensioni i furnizimit.

'Shoferi' i softuerit i cili i shërben këto butona është 'scanButtons ()' rutinë. Ai pret që vlera e hyrjes analoge të rregullohet, pastaj harton leximin në një seri vlerash të paracaktuara; dhe e përkthen atë në gjendjet përkatëse për mbledhjen e butonave. Kjo rutinë, dhe ndryshoret publike që ndan me softuerin e aplikimit, është gjithçka që nevojitet për të përdorur në mënyrë të ngjashme këtë grup në butona të pavarur.

Shënim! Versioni aktual i 'scanButtons ()' nuk përpiqet të identifikojë në mënyrë unike të gjitha tre kombinimet e mundshme të butonave pasi për mua nuk ishte realisht i nevojshëm dhe do të komplikonte më tej kodin dhe saktësinë e kalibrimit të kërkuar.

Hapi 3: Luaj lojë

Ose skica, 'LadderGames4' ose 'Head2head' mund të ngarkohet dhe të drejtohet nga shumica e çdo Arduino MCU, por LadderGames4 duhet të ketë 'SimonSays' ose ndonjë nga dy lojërat e tjera të komentuara në mënyrë që të përshtatet në 8K Bajt të hapësirës së programit në një Attiny-85. Audio është gjithashtu një çështje me një ATtiny-85, shihni projektin e mëparshëm të përmendur më lart. Kodi është konfiguruar me përpilim të kushtëzuar dhe dihet se punon me një Nano, Uno dhe një ATtiny-85.

Me secilën nga këto skica pas fillimit ju jeni paraqitur me Menunë, me një ngjyrë në të njëjtën kohë duke ndriçuar të gjitha të Kuqe… Të Verdha… Jeshile… Blu Led, që korrespondojnë me katër zgjedhjet e mundshme të lojës. Ju ose shtypni Btn1 kur opsioni i dëshirës është ndezur ose në çdo kohë shtypni Btn2-4 për lojërat 2-4. Mënyra e tepërt për të zgjedhur është në mënyrë që të jetë në përputhje me zbatimet dhe lojërat me dy dhe katër butona. Nëse ka shumë versione në lojë, do të duhet të zgjidhni të kuqen që ndizet për ver-1, të verdhë të ndezur për ver-2, etj.

4 lojëra me butona

Një lojë e kujtesës, një lojë koordinimi sy-dorë dhe dy lojëra strategjike.

Simon thotë se ky është një ri-zbatim i lojës nga forma në të cilën e kisha, në këto projekte të mëparshme:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Ajo luan si shumica e lojërave të tjera "Simon Says".

Këtu megjithatë, unë shtova versionin me dy persona (kur zgjidhni opsionin 2, i ndezur i verdhë), ku secili lojtar, nga ana tjetër, shton një shënim të ri të dritës në seri. I pari që nuk përsëriti saktë gjithçka që erdhi më parë humbet lojën.

Pres një nishan

Për 30 sekonda shfaqen nishane të ndryshme (të kuqe, yel, grn, blu) 1, 2 ose 3 në të njëjtën kohë. Ju duhet t'i "goditni" ato duke shtypur butonat përkatës Btn1-4. Vetëm shtypjet e një butoni do të pranohen, asnjë shtypje e njëkohshme e shumëfishtë e butonave. Sa kohë qëndron një grup nishanesh bëhet më e shkurtër ndërsa loja vazhdon. Nëse i shtypni të gjitha nishanet që shfaqen, atëherë do të shfaqet një grup i ri; i tillë që më shpejt të jeni më shumë nishane do të keni një shans për të goditur.

Sapo të përfundojë një lojë, ekrani do të pasqyrojë rezultatin, duke ndezur një led për secilën 10 nishan që u goditën. Ndërsa loja shënon 10 pikë për çdo goditje me nishan, 5 led të ndezur do të përfaqësonin një rezultat standard të pikës Whac-a-Mole prej 500+. Për të luajtur një raund tjetër ju duhet të rizgjidhni lojën.

Unë përdor një gisht në secilën buton për veprim të shpejtë dhe rezultate të larta. Për një sfidë më të përshtatshme, duhet të përdorni vetëm një gisht në njërën dorë, duke iu përgjigjur përdorimit të një çekiçi.

Rezultati im tipik duke përdorur një gisht është në vitet 500, duke përdorur 4 gishta (një për buton) është 600+. Rezultati im më i lartë është 700+. Përdorimi i gishtërinjve të shumtë është veçanërisht i ndërlikuar në atë që nëse ka një mbivendosje në shtypjen e njërës dhe tjetrës, e dyta nuk do të pranohet nga softueri, duke kërkuar që të lëshoni të gjithë butonat para se të pranohet një tjetër. Nëse dikush i merr të gjitha 12 led -et në dritë, për një rezultat 1200+, ju lutemi na tregoni.

Gjuetia e Detit

Ekziston një nëndetëse e padukshme që lëviz nëpër thellësi. Vendndodhja dhe drejtimi fillestar i tij është i rastësishëm. Ai bën një lëvizje përgjatë rrjedhës së tij pas çdo kthesë që merrni. Ju duhet të parashikoni vendndodhjen e tij përmes raporteve të sonarit dhe ta fundosni atë me një ngarkesë të thellë. Një sonar që tingëllon valëzon (në të dy drejtimet) nga vendi i tij fillestar si një dritë e zbehtë dhe shkëlqen (së bashku me një ping) në distancën e nën. Sidoqoftë, vini re se nën -ja mund të jetë në secilën anë nga ju dhe po lëviz në një drejtim të panjohur. Ngarkesa e thellësisë shpërthen thellë poshtë vendit ku lëshohet. Ju dëgjoni një shpërthim të mbytur nëse asgjë, ose nuk është atje, përndryshe ju dëgjoni shpërthimin e madh të nën dhe një blic të ndritshëm.

Për të lëvizur kursorin e çuar në vendin ku dëshironi të hidhni një pluskë sonari ose ngarkimi i thellësisë bëhet me Btn2 & Btn3 për të majtë dhe të djathtë. Butoni-1 përdoret për lëshimin e tyre.

Në versionin 1, çdo përpjekje është një kombinim i raportit të ngarkimit të thellësisë dhe sonarit; dhe ju mund të përdorni një numër të pakufizuar të tyre.

Në versionin 2, Kokë për kokë, me radhë, për të parë se kush arrin të fundosë nën. Lojtari 1 përdor Btn1 dhe lojtari i dytë përdor Btn4 për të lëshuar ngarkesat e tyre të thelluara.

Në versionin 3, raportet e akuzave të thellësisë dhe të sonarit nisen në mënyrë të pavarur nga Btn1 dhe Btn4 respektivisht. Ju keni vetëm tre tarifa të thella në dispozicion për ju. Ju mund të merrni të gjitha raportet e zërit që dëshironi. Ju humbni nëse nuk arrini ta merrni atë me ato akuza.

Në versionin 4 nëndetësi mund të lëvizë me një shpejtësi prej 1-3 hapësira për breshëri, dhe përndryshe luan si versioni 3, por ju merrni 6 ngarkesa të thellësisë.

Historia: Unë së pari krijova lojën "Gjuetia e Detit" në vitet 1970. Pastaj pajisja hyrëse dhe dalëse ishte një teletype. Sidoqoftë, atëherë deti ishte një rrjet 2 dimensional, në krahasim me 1 dimensional siç është këtu.

SH NOTNIM: Kam komentuar kufizimin e ngarkesës së thellësisë në kod, me idenë se ishte tashmë mjaft e vështirë për të luajtur për shumicën e njerëzve.

Rrokullisur

Kjo lojë me dy lojtarë është pak a shumë si Reveri, në atë që ju po përpiqeni t'i ktheni të gjitha qelizat në ngjyrën tuaj, por kjo arrihet ndryshe.

Në këtë lojë me dy lojtarë, qëllimi i njërit lojtar është të fikë të gjitha dritat dhe tjetri t'i ndezë të gjitha. Një lojtar përdor Btn1 ose për të fikur një grup të dritave të lojtarit tjetër ose heq dorë nga një nga "Dritat e fikura" të tij (duke e ndezur atë). Lojtari tjetër përdor Btn4 për të kthyer ose një grup "Llambat Off" në On ose një të vetme të shpinës të tij Off.

Bordi fillon me një grup të rastësishëm të leds të ndezur. Kur është radha e lojtarit të parë, ka një zbehje të shpejtë ose ndriçim në led në 'kursorin', pikën e interesit, që mund të kthehet. Gjatë kthesës së lojtarit #2 ka një ndezje të gjatë të një led si një tregues kursori. Nëse lojtari i gabuar shtyn butonin e tij, jashtë kthesës, ka një bip shumë të shkurtër. Kursori lëvizet majtas nga Btn2 dhe djathtas nga Btn3. Lojtari humbës fillon lojën e mëposhtme.

Strategjia se çfarë të rrokulliset mund të jetë domethënëse.

Hapi 4: Konkurset kokë më kokë

Lojëra me dy butona / dy lojtarë

Në grupin e parë të 4 lojërave me butona vetëm 'Whack-a-Mole' vërtet mbështetet në pavarësinë e plotë të përpunimit të butonave. Unë gjithashtu kam zbatuar katër lojëra kokë më kokë, të gjitha varen nga zbulimi i pavarur i butonave. Këto lojëra janë: Short Draw, Tug a War, Chicken, and Hot Hands (Slapsies).

Vizatim i shpejtë (Testi i reagimit)

Konkursi fillon me një 'Gati'/e kuqe, 'Set'/e verdhë dhe një 'Vizatoni!'/Jeshile; duke qenë mjaft i rastësishëm kur ju jep dritën jeshile. I pari që goditi butonin e tyre fiton. Goditja shumë shpejt dhe ju çnderoheni me një zhurmë.

Lojtari 1 përdor Btn1 (në të majtë) dhe lojtari 2 përdor Btn4 (në të djathtë).

Tug of War

Fillon me një 'Gati', 'Set'… 'SHKO!'. Aty shfaqet një objekt në mes, një 'hark' në litar. Pastaj lojtarët godasin butonat e tyre sa më shpejt dhe shpesh që të munden. Harku do të lëvizë drejt lojtarit me më shumë goditje. Pasi harku arrin një fund, ai është fituesi.

Pule

Kjo garë fillon në mënyrë të ngjashme. Pas zhurmës dhe ndezjes jeshile të "Shko!" lojtarët shtypin dhe mbajnë butonat, copa drite (qerret e tyre) fillojnë të lëvizin prej tyre drejt tjetrës. Fituesi është ai që lëshon butonin e tij (kërcen nga karroca e tyre) i fundit, pak para se dy blipat të përplaseshin me njëri -tjetrin. Nëse dikush lëshon shumë vonë ose nuk e bën fare, ai u rrëzua dhe humbi. Nëse të dy kërcejnë (lëshojnë) shumë vonë, askush nuk fiton.

Në fillim një palë led të kundërta spastrojnë ekranin, në këtë kohë nëse godisni Fnc-Btn2 shpejtësia e lojës do të rritet. Kjo mund të përsëritet disa herë.

Duart e nxehta

Një version dixhital i lojës me shuplaka me dorë (aka Red-Hands ose Slapsies). Për të filluar që dy lojtarët të shtypin butonat e tyre së bashku, njëra palë lëshon pastaj përpiqet të shtypë butonin e tij dy herë para se pala tjetër të lëshojë butonin e tij. Tjetra pala tjetër përpiqet të bëjë në mënyrë të ngjashme. Lojtari, radha e të cilit është, tregohet në fillim të një raundi me një ndriçim të led -ve në anën e tij. Kam gjetur se një goditje vetëm me një buton ishte shumë e shpejtë dhe e lehtë, kështu që bëra dy të kërkuara, e cila kërkon më shumë veprim dhe kohë, si të kesh të rrokullisësh dorën mbi dhe mbi të tjerët, si dhe pastaj të godasësh poshtë. TBD: Në një version të dytë, është falas për të gjithë, në çdo kohë secili lojtar mund të përpiqet të marrë më të mirën nga tjetri.

Njoftim! Unë ju këshilloj të printoni rregullat e funksionimit të lojërave të mësipërme dhe t'i rilexoni ato para se të luani një lojë që nuk e keni luajtur kohët e fundit. Përndryshe, ju mund të frustroni veten; duke menduar se loja nuk po funksionon siç duhet kur është, por ju dhe loja keni mënyra dhe pritshmëri të ndryshme. Unë, vetë, kam rënë pre e kësaj më shumë se nja dy herë.

Me tetë lojërat këtu dhe katër në projektin tim të mëparshëm Single-Line-LED-Display-Games, kjo e bën softuerin të disponueshëm për të luajtur 12 lojëra me këtë kombinim të harduerit me katër butona + led shkallë.

Kam të paktën katër aktivitete të tjera rekreative për këtë pajisje (ekran me butona) që vijnë para fundit të vitit.

Hapi 5: Kontrollorët opsionalë të 2 lojtarëve

Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve
Opsionale 2 Kontrollues të Lojtarëve

Për lojërat të cilat kërkonin vetëm dy butona, sigurisht që mund të kisha përdorur PCB me 4 butona me ato lojëra; megjithatë në luajtjen e këtyre lojërave dikush tenton të bëhet mjaft fizik. Kështu, unë përdor montime të veçanta të butonave të tipit kumarxhi, të bëra nga një copë tub plastik të mbuluar me një dorezë të dorezës së biçikletës dhe një buton të madh.

Pjesët e butonave të tipit të kumarxhiut:

  • Tub 1/2 "i pikave të linjës, spërkatës të ndezur ose PVC (Dyqani i pajisjeve)
  • Mbërthim i dorezës së biçikletës (Walmart)
  • Butona të mëdhenj shtytës (eBay)
  • 2 rezistente

Për të ruajtur pajtueshmërinë një buton ka një rezistencë 75 ohm në seri me të dhe tjetri ka një 36-39 ohm në seri; i tillë që softueri do t'i shohë ato si Btn1 dhe Btn4 respektivisht.

Ju mund të përdorni tuba nga një fshesë e hedhur ose një dorezë fshesash.

Madje mund të krijohet një përshtatës në të cilin mund të lidhni shkopinj të vjetër të tastierës së lojës; butonat e zjarrit të njërit lidhen si Btn1 dhe Btn4 për tjetrin, ndërsa ndani Btn1-4 duke shkuar te butonat e navigimit të shkopinjve të gëzimit.

Prill 2018: Tani preferoni të përdorni bashkues 5/8 Kompresimi si trupi për butonat e jashtëm të stilit kumarxhi. Butonat e mëdhenj (me një kasetë të vogël mbi fijet e tyre të shtuara) përshtaten në mënyrë të përkryer në to dhe ato përshtaten shumë mirë në dorë. Si im Fëmijëve u pëlqen të përdorin një palë prej tyre, shtova disa grupe kunjash të kokës në mënyrë që të lidhin me lehtësi një buton të jashtëm të mbajtur me dorë nëpër kontaktet Bnt1 dhe një për Btn4.

Hapi 6: Përditësoni (et)

Përditëso (a)
Përditëso (a)

Bëra një kuti konsol të shtypur 3D për të vendosur ekranin dhe butonat e shkallëve LED në linjë.

Unë i kam kombinuar 12 lojërat që kam krijuar deri më tani, për këtë ekran 12 LED, në një skicë 'Menu_12Games'. Ky program kërkon harduerin e këtij projekti të zbatuar me një MCU flash 32KB (p.sh. Nano ose Uno) dhe 5 butona, 4 kryesore + një FncKey.

Menyja e përzgjedhjes tani është me dy nivele; së pari ju zgjidhni 1 nga 4 grupet e lojërave pastaj lojën 1-4 brenda atij grupi,… siç është renditur më poshtë. Ndërsa jeni duke pritur ekranet e zgjedhura të skanoni R-Y-G-B në mënyrë periodike, ju shtypni Btn1-4 si përzgjedhja juaj në çdo kohë, nuk ka dallim se çfarë shfaqet kur shtypni përzgjedhjen tuaj. Gjatë përzgjedhjes 'grup' të gjitha Led -et janë të paktën pjesërisht të lehta gjatë skanimit RYGB. Për të dalë nga ndonjë lojë ose për të bërë kopje rezervë nga përzgjedhja 'lojë' në 'grup', goditni FncKey-Btn1.

Unë jam ende për të koduar finale 4. Kam 3 të shkruara (përfshirë 'LeMans'). Unë nuk kam arritur me atë që do të ishte ndeshja e fundit. Më dërgoni mesazhe me ndonjë ide.

Përditësimi 25 Janar 17: Për ata prej jush që gëzojnë qasje në një printer 3D, mund të jeni të interesuar në kutinë e tastierës së lojës që kam bërë për pajisjen time: https://www.instructables.com/id/3D-Printed-Case- për-Inline-LED-Display-Console-dhe/

Përditësimi 17 Shk 17: Shtova 4 lojërat përfundimtare, të cilat tani janë të disponueshme si "Menu_16Games.ino" nën "Hapi 7: Përditëso, më shumë Lojëra" të Lojërave Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino është tani i vdekur)

Loja në grup: 1– E kuqe 2- E verdhë 3- E gjelbër 4- Blu

1 e kuqe PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Recommended: