Turinys:
Video: „Arduino Space Rocks“žaidimas: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Nesvarbu, ar jie žaidžiami kompiuteryje, telefone, žaidimų konsolėje, ar atskiroje dėžutėje, daugelyje vaizdo žaidimų yra kliūčių vengimo elementas. Žinoma, gali būti skiriami taškai už žetonų surinkimą ar kelią per labirintą, tačiau būkite tikri, kad žaidime tikriausiai yra kažkas, kurio vienintelis tikslas yra neleisti jums to padaryti. Pirmasis vaizdo žaidimas buvo „Pong“, tačiau po to populiariausi žaidimai buvo tokie kaip „Asteroidai“ar „Pac-Man“. Naujausias variantas būtų paprastas, bet priklausomybę sukeliantis „Flappy Birds“žaidimas.
Neseniai pamačiau, kad kažkas padarė paprastą dviejų lygių „Flappy Bird“versiją, kuri buvo grojama įprastu 1602 LCD. Maniau, kad tai gali patikti anūkams, todėl nusprendžiau padaryti savo variantą nuo nulio. „1602“versija turi tik du lygius, todėl nusprendžiau naudoti 2004 m. Skystųjų kristalų ekraną (20x4), kad šiek tiek padidintų žaidimo sunkumą. Aš taip pat nusprendžiau padaryti jį panašesnį į „asteroidus“, leisdamas žaidėjui vadovauti „laivui“per „kosminių uolų“labirintą. Net jei nesate suinteresuotas kurti žaidimą, gali būti tam tikrų programinės įrangos elementų, kuriuos galite naudoti viename iš savo projektų.
1 žingsnis: Aparatūra
Techninė įranga gali būti pagrįsta beveik bet kuria „Arduino“versija. Aš sukūriau prototipą naudodamas „Nano“ir tada įrašiau kodą į „ATMega328“lustą. Tai tas pats lustas, naudojamas „Nano“, tačiau naudojant jį pats, galima kompaktiškesnę konstrukciją ir mažiau energijos. Kaip matote, aš sukūriau grandinę ant mažos duonos lentos, kuri pritvirtinta prie LCD modulio. Kitas skirtingas aspektas yra tas, kad „Nano“veikia 16 MHz dažniu, naudodamas išorinį kristalą, tačiau aš nusprendžiau naudoti įmontuotą 8 MHz osciliatorių „ATMega328“mikroschemai. Tai taupo dalis ir energiją.
2004 m. LCD jungiasi prie „Arduino“taip pat, kaip ir 1602 LCD. Įdomus skirtumas yra rodomų vietų adresavimas. Akivaizdu, kad yra skirtumas, nes yra keturios eilutės, o ne dvi, tačiau 2004 m. Trečioji eilutė yra pirmosios eilutės pratęsimas, o ketvirtoji eilutė - antrosios eilutės pratęsimas. Kitaip tariant, jei turėtumėte bandomąją programą, kuri tiesiog išsiuntė simbolių eilutę į LCD, 21 -asis simbolis būtų rodomas trečiosios eilutės pradžioje, o 41 -as simbolis suvyniotų iki pirmosios eilutės pradžios. Aš naudoju šią charakteristiką programinėje įrangoje, kad efektyviai padvigubinčiau labirinto ilgį.
Aš nusprendžiau, kad mano versija būtų maitinama baterijomis, todėl naudojau įprastą 18650 ličio jonų, 3,6 voltų bateriją. Tam reikėjo pridėti mažą plokštę, kad būtų galima įkrauti USB, ir kitą mažą plokštę, kad akumuliatoriaus įtampa padidėtų iki 5 voltų LCD ir „ATMega“mikroschemai. Paveikslėliai rodo mano naudojamus modulius, tačiau taip pat yra „viskas viename“modulių, kurie atlieka abi funkcijas.
2 žingsnis: programinė įranga
Programinė įranga yra vienoda tiek „Nano“, tiek „ATMega328“mikroschemai. Vienintelis skirtumas yra programavimo metodas. Aš naudoju savo 1602 skystųjų kristalų programinės įrangos „barebones“versiją, ir šiame projekte yra sukurta LCD programinė įranga. Man reikėjo pridėti galimybių, kad būtų galima išspręsti papildomas 2004 m. Ekrano eilutes, taip pat pridėjau ekrano keitimo tvarką. Ekrano poslinkis suteikia „uolų“judėjimo efektą pro „laivą“.
Kaip minėta anksčiau, 1 ir 3 eilutės sudaro apskritimo eilę, o 2 ir 4 eilutės taip pat. Tai reiškia, kad po 20 pamainų 1 ir 3 eilutės keičiamos, o 2 ir 4 eilutės keičiamos. Po 40 pamainų linijos grįžta į pradinę padėtį. Dėl tokio elgesio, pasikeitus eilutėms, originalus 20 simbolių labirintas tampa visiškai kitoks. Tai padarė gyvenimą įdomų, kai bandžiau suformuoti labirintą. Pagaliau ką tik atidariau „Excel“skaičiuoklę, kad galėčiau nubrėžti kelią, nekeisdamas nuolatinės programinės įrangos. Čia pateikta programinė įranga turi dvi labirinto versijas (viena yra komentuojama), todėl galite pasirinkti, kurią norite, arba susikurti savo.
Iš pradžių norėjau, kad tai būtų pakankamai paprasta, kad jaunieji anūkai galėtų žaisti, bet taip pat norėjau, kad tai sukeltų papildomų iššūkių, jei jiems (ar kam nors kitam) tai pavyktų. Žaidimas prasideda pamainos greičiu, nustatytu 1 sekundę. Vidinis tikėjimo greitis yra 50 ms, tai reiškia, kad yra 20 intervalų, per kuriuos galima paspausti aukštyn/žemyn mygtukus. Tiesą sakant, paspaustas mygtukas sunaudoja 2 taškus, nes 50 ms intervalas naudojamas spaudai aptikti, o kitas 50 ms intervalas naudojamas laukti išleidimo. Naudojant numatytąjį labirintą, iki kitos pamainos reikia tris kartus paspausti tris kartus. Paprastas būdas padidinti žaidimo sunkumą yra sutrumpinti laiką tarp pamainų, todėl pora kodo eilučių tai daro didėjant rezultatui. Nustatyta, kad perjungimo dažnis paspartėja 50 ms kas 20 pamainų, o minimali - 500 ms. Šiuos parametrus lengva pakeisti.
Išskyrus poslinkio greičio keitimą, pagrindinė programinės įrangos logika yra perkelti „laivą“ir nustatyti, ar „laivas“susidūrė su „uola“. Šios funkcijos naudoja apibrėžtą „roko/erdvės“masyvą ir masyvą, kuris apibrėžia atminties vietas ekrane. Poslinkių skaičius atitinka LCD eilutės ilgį (0–19) ir yra naudojamas kaip šių masyvų rodyklė. Logiką šiek tiek apsunkina tai, kad eilutės keičiamos kas 20 pamainų. Panaši logika naudojama norint nustatyti „laivo“padėtį, kuri gali būti bet kurioje iš keturių linijų.
Kiekvieno žaidimo rezultatas yra tiesiog įvykusių pamainų skaičius ir aukštas rezultatas išsaugomas vidiniame mikrovaldiklio EEROM. EEPROM biblioteka naudojama skaityti ir rašyti į šią atmintį. Turimos procedūros leidžia vieno baito skaityti/rašyti ir skaityti/rašyti slankiojo kablelio reikšmes. Pirmoje EEROM vietoje saugoma 0xA5 reikšmė, rodanti, kad išsaugotas aukštas rezultatas. Jei ši vertė yra įjungus, tada skaitoma aukšto balo slankiojo kablelio vertė ir rodoma. Jei 0xA5 reikšmės nėra, iškviečiama tvarka inicijuoti aukštą rezultatą iki 1. Ta pati tvarka iškviečiama, jei norima iš naujo nustatyti aukštą balą. Aukštas balas grąžinamas į 1 vertę, laikant nuspaudus vieną iš aukštyn/žemyn mygtukų ir akimirksniu paspaudžiant atstatymo mygtuką.
3 žingsnis: Žaidimas
Įjungus maitinimą, rodomas dabartinis aukštas rezultatas. Kai rodomas aukštas rezultatas, rodomas „uolų“ir „laivo“labirintas, tada žaidimas prasideda po kelių sekundžių. „Laivui“atsitrenkus į „uolą“, prieš rodant žaidimo rezultatą, kelis kartus sumirksi pranešimas „CRASH AND BURN“. Jei pasiekiamas naujas aukštas rezultatas, rodomas ir šis pranešimas. Naujas žaidimas pradedamas paspaudus atstatymo mygtuką.
Rekomenduojamas:
„Pasidaryk pats“„Leds Arduino“ruletės žaidimas: 3 žingsniai (su nuotraukomis)
„Pasidaryk pats“37 „Leds Arduino“ruletės žaidimas: Ruletė yra kazino žaidimas, pavadintas prancūziško žodžio, reiškiančio mažą ratą, vardu
LCD užpuolikai: „Space Invaders Like“žaidimas 16x2 LCD simbolių ekrane: 7 žingsniai
„LCD Invaders“: „Space Invaders Like Game“16x2 LCD simbolių ekrane: nereikia pristatyti legendinio „Space Invaders“žaidimo. Įdomiausia šio projekto ypatybė yra ta, kad grafiniam išėjimui naudojamas tekstinis ekranas. Tai pasiekiama įgyvendinant 8 pasirinktinius simbolius. Galite atsisiųsti visą „Arduino“
Simono žaidimas - įdomus žaidimas!: 5 žingsniai
Simono žaidimas - įdomus žaidimas!: Nuoroda: čia Laikas mums treniruoti smegenis, ar ne? Be tų nuobodžių ir beprasmių žaidimų, yra žaidimas „Simono žaidimas“
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis - „Arduino PS2“žaidimų valdiklis - Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino“žaidimų pultą: 7 žingsniai
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis | „Arduino PS2“žaidimų valdiklis | Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino Gamepad“: Sveiki, vaikinai, žaisti žaidimus visada smagu, tačiau žaisti su savo „pasidaryk pats“žaidimo valdikliu yra smagiau. Taigi, mes padarysime žaidimų valdiklį naudodami „arduino pro micro“šioje instrukcijoje
TRASH ROCKS - pašalinkite neperdirbamas šiukšles: 8 žingsniai
TRASH ROCKS - pašalinkite neperdirbamas šiukšles: kad padarytumėte šiukšlių akmenį, pirmiausia iš tinklelio pasiuvamas maišas. Jis užpildytas šiukšlėmis ir tinkuotas cementu. Gautos kriauklės yra unikalios formos ir atrodo labai natūraliai. Šiukšlės yra estetiškai patrauklios ir konstruktyvios