Tartalomjegyzék:
Videó: Arduino Space Rocks Játék: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Függetlenül attól, hogy számítógépen, telefonon, játékkonzolon vagy önálló dobozon játsszák, sok videojáték tartalmaz egy akadálykerülő elemet. Persze lehet, hogy kapnak pontokat a tokenek gyűjtéséért vagy az útvesztőben való eligazodásért, de biztos lehet benne, hogy valószínűleg van valami a játékban, amelynek egyetlen célja az, hogy megakadályozza ezt. Az első videojáték a Pong volt, de utána a legnépszerűbb játékok az olyan dolgok voltak, mint az „Asteroids” vagy a „Pac-Man”. Újabb variáció lenne a „Flappy Birds” egyszerű, de addiktív játéka.
Nemrég láttam, hogy valaki elkészítette a „Flappy Bird” egyszerű kétszintű változatát, amelyet egy közös 1602-es LCD-n játszottak le. Azt hittem, ez tetszeni fog az unokáknak, ezért úgy döntöttem, hogy a nulláról csinálom a saját változatomat. Az 1602 -es verziónak csak két szintje van, ezért úgy döntöttem, hogy egy 2004 -es LCD -t (20x4) használok, hogy kissé növeljem a játék nehézségét. Én is úgy döntöttem, hogy inkább az „aszteroidák” -hoz hasonlítom, hogy a játékos „hajót” vezessen az „űrsziklák” útvesztőjében. Még akkor is, ha nem érdekli a játék építése, előfordulhat, hogy vannak olyan elemei a szoftvernek, amelyeket saját projektjeiben használhat.
1. lépés: Hardver
A hardver nagyjából bármilyen Arduino verzióra épülhet. A prototípus elkészítését Nano segítségével végeztem, majd a kódot ATMega328 chipbe égettem. Ugyanaz a chip, amelyet a Nano -ban is használtak, de önmagában történő használata kompaktabb konstrukciót és kevesebb energiafogyasztást tesz lehetővé. Mint látható, az áramkört egy kis kenyérsütő táblára építettem, amely az LCD -modulon van. A másik szempont, hogy más, hogy a Nano 16 MHz-en működik külső kristály segítségével, de én úgy döntöttem, hogy az ATMega328 chiphez a beépített 8 MHz-es oszcillátort használom. Ez alkatrészeket és energiát takarít meg.
A 2004 -es LCD ugyanúgy kapcsolódik az Arduino -hoz, mint egy 1602 -es LCD. Érdekes különbség a megjelenítési helyek címzésében van. Nyilvánvaló, hogy van különbség, mert kettő helyett négy sor van, de 2004 -ben a harmadik sor az első sor, a negyedik pedig a második vonal kiterjesztése. Más szóval, ha lenne egy tesztprogramja, amely csak egy karakterláncot küldött ki az LCD -re, a 21. karakter megjelenik a harmadik sor elején, a 41. karakter pedig az első sor elejéig. Ezt a jellemzőt használom a szoftverben a labirintus hosszának hatékony megkétszerezésére.
Úgy döntöttem, hogy a verziómat akkumulátorral működtetem, ezért egy közös 18650 Li-ion, 3,6 voltos akkumulátort használtam. Ehhez egy kis táblát kellett hozzáadnom az USB újratöltéshez, és egy másik kis táblát, hogy az akkumulátor feszültségét 5 voltra emelje az LCD és az ATMega chip esetében. A képek az általam használt modulokat mutatják, de vannak all-in-one modulok, amelyek mindkét funkciót ellátják.
2. lépés: Szoftver
A szoftver ugyanaz mind a Nano, mind az ATMega328 chipnél. Az egyetlen különbség a programozási módszerben van. Az 1602 LCD szoftver saját barebones verzióját használom, és a projektben az LCD szoftver ezen alapul. Hozzá kellett adnom képességeket a 2004 -es kijelző további sorainak kezeléséhez, valamint rutinokat kellett hozzáadnom a kijelző eltolásához. A kijelző eltolása biztosítja a „sziklák” mozgási hatását a „hajó” mellett.
Amint azt korábban említettük, az 1. és a 3. sor kör alakú sort képez, a 2. és a 4. pedig szintén. Ez azt jelenti, hogy 20 műszak után az 1. és 3. sor felcserélődik, a 2. és 4. sor pedig felcserélődik. 40 váltás után a vonalak visszaálltak eredeti helyzetükbe. E viselkedés miatt az eredeti 20 karakterből álló labirintus teljesen más lesz, amikor sorokat cserélnek. Ez tette érdekessé az életet, amikor labirintust próbáltam kialakítani. Végül csak megnyitottam egy Excel táblázatot, hogy lerajzolhassam az utat anélkül, hogy folyamatosan változtatnom kellene a szoftveren. Az itt található szoftvernek két változata van a labirintusból (az egyik megjegyzésben van), így kiválaszthatja, hogy melyiket szeretné, vagy kitalálja a sajátját.
Eredetileg azt akartam, hogy ez elég egyszerű legyen ahhoz, hogy a fiatal unokák játszhassanak vele, de azt is szerettem volna, ha valami plusz kihívást jelentene, ha ők (vagy valaki más) túl jól értenek hozzá. A játék az 1 másodpercre beállított váltási sebességgel kezdődik. A belső tic arány 50 ms, ami azt jelenti, hogy 20 időközönként lehet lenyomni a fel/le gombokat. Valójában egy megnyomott gomb 2 ticset fogyaszt, mivel 50 ms intervallumot használnak a sajtó észlelésére, és további 50 ms intervallumot használnak a felszabadítás várására. Az alapértelmezett labirintus esetén a következő műszak előtt háromszor kell megnyomni. Az egyszerű módja annak, hogy növelje a játék nehézségét, ha lerövidíti a műszakok közötti időt, így néhány sor kód ezt teszi a pontszám növekedésével. A műszak sebessége 20 műszakonként 50 ms -ra gyorsul, a minimális sebesség pedig 500 ms. Könnyű megváltoztatni ezeket a paramétereket.
A váltási sebesség megváltoztatásán kívül a szoftver elsődleges logikája a „hajó” mozgatása, és annak megállapítása, hogy a „hajó” ütközött -e egy „sziklával”. Ezek a funkciók kihasználják a meghatározott „rock/space” tömböt, valamint azt a tömböt, amely meghatározza a kijelző memóriahelyeit. Az eltolásszám az LCD vonalhosszának felel meg (0-19), és indexként használják ezeket a tömböket. A logikát némileg bonyolítja az a tény, hogy a sorok cseréje 20 műszakonként számít. Hasonló logikával határozzák meg a „hajó” helyzetét, amely a négy vonal bármelyikén lehet.
Az egyes játékok pontszáma egyszerűen a bekövetkezett műszakok számát jelenti, és a magas pontszámot elmenti a mikrokontroller belső EEROM -jába. Az EEPROM könyvtár az olvasásra és írásra szolgál erre a memóriára. A rendelkezésre álló rutinok lehetővé teszik a lebegőpontos értékek egyetlen bájtos olvasását/írását és olvasását/írását. 0xA5 értéket tárol az első EEROM helyen, jelezve, hogy magas pontszámot mentett. Ha ez az érték a bekapcsoláskor jelen van, akkor a magas pontszám lebegőpontos értéke beolvasásra és megjelenítésre kerül. Ha a 0xA5 érték nincs jelen, akkor egy rutint hívnak a magas pontszám 1 -es inicializálására. Ugyanezt a rutint hívják meg, ha a magas pontszám visszaállítását kívánják. A magas pontszámot visszaállítja 1 értékre, ha lenyomva tartja az egyik fel/le gombot, majd egy pillanatra megnyomja a reset gombot.
3. lépés: Játék
Áramellátáskor az aktuális magas pontszám jelenik meg. A magas pontszám megjelenítése után a „sziklák” és a „hajó” labirintusa jelenik meg, majd a játék néhány másodperccel később kezdődik. Amikor a „hajó” eléri a „sziklát”, a „CRASH AND BURN” üzenet néhányszor felvillan, mielőtt megjeleníti a játék pontszámát. Ha új magas pontszámot kap, akkor ez az üzenet is megjelenik. Új játék indul a reset gomb megnyomásával.
Ajánlott:
"Space Impact" játék giroszkóppal és Nokia 5110 LCD kijelzővel: 3 lépés
"Space Impact" játék giroszkópos érzékelővel és Nokia 5110 LCD -vel: Miután Tamagotchi meghalt (utolsó projekt), elkezdtem keresni az időveszteség új módját. Úgy döntöttem, hogy az Arduino -n programozom a klasszikus „Space Impact” játékot. Hogy egy kicsit érdekesebbé és szórakoztatóbbá tegyük a játékot, egy giroszkóp érzékelőt használtam
Puha játék Bluetooth kocka és Android játék fejlesztése az MIT App Inventor segítségével: 22 lépés (képekkel)
Puha játék Bluetooth kocka és Android játék fejlesztése az MIT App Inventor segítségével: A kockajátéknak különböző módszerei vannak 1) Hagyományos játék fa vagy sárgaréz kockákkal. 2) Játssz mobilon vagy PC -n a mobil vagy a PC által véletlenszerűen létrehozott kockával. fizikailag játszani a kockával, és mozgatni az érmét a mobilon vagy a számítógépen
Simon játék - szórakoztató játék!: 5 lépés
Simon Game - Szórakoztató játék !: Referencia: IttHosszú hétvége után valóban keményen kell próbálnia elvégezni az összes feladatot és munkát, amelyekért Ön felelős. Itt az ideje, hogy edzjük az agyunkat, nem? Az unalmas és értelmetlen játékok mellett van egy Simon Game nevű játék
Minion Cubecraft játék (zseblámpa játék): 4 lépés
Minion Cubecraft játék (A zseblámpa játéka): Régóta fáklyát akartam készíteni, hogy sötétben is használhassam, de az ötlet, hogy csak egy hengeres alakú tárgy legyen, csak be-ki kapcsolóval, ellenállt, hogy ne csináljam. Túl mainstream volt. Aztán egy napon a bátyám hozott egy kis NYÁK -ot
A játék megvásárlása előtt ellenőrizheti, hogy fut -e egy játék a számítógépén .: 4 lépés
Hogyan lehet ellenőrizni, hogy a játék fut -e a számítógépen, mielőtt megvásárolná a játékot.: Nemrégiben beszereztem egy barátomtól a Call of Duty 4 -et (lehet, hogy ingyen), mert nem fut a számítógépén. Nos, a számítógépe meglehetősen új, és megdöbbentett, miért nem fut. Így pár órányi internetes keresés után találtam rá