Obsah:
Video: Floppy Bird: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Dnes budeme hrať hru pomocou TFT LCD. Vyzeralo by to ako hra, ktorá je skutočne populárna a stále ju hrá veľa ľudí. Hra sa nazýva Flappy Bird, ale táto hra je trochu odlišná, pretože používateľské rozhranie je odlišné aj od toho, ako hra funguje. Túto hru som nazval Floppy Bird, pretože by to mohlo viesť k problémom s autorskými právami. Napriek tomu je to veľmi zábavná hra a jej výroba je jednoduchá. Urobil som tento návod, ktorý vám umožní úplne dokončiť hru a fungovať tak, ako som to robil ja. Ak máte otázky, napíšte ich nižšie a ja sa pokúsim na tieto otázky odpovedať čo najskôr.
Zásoby
- Arduino Mega 2560 a kábel
- Mega štít Arduino
- Arduino TFT LCD kompatibilný s Arduino Mega 2560
- SD karta
Krok 1: Zostavenie TFT LCD
Teraz môžeme začať montovať TFT LCD. Pripojíme TFT LCD k štítu, takže najskôr vezmite TFT LCD a v zásade ho zarovnajte s kolíkmi na štíte. Akonáhle zarovnáte kolíky, zatlačte TFT LCD nadol, aby zapadol na svoje miesto. Keď sú všetky kolíkové hlavy v štíte a nemôžete ich vidieť, vtedy viete, že je TFT LCD správne pripojený. Ďalej môžeme štít zapojiť do Arduino Mega 2560. Zarovnajte kolíky štítu na Arduino Mega a zapojte ho. Keď sú všetky kolíkové hlavy v Arduino Mega a nevidíte hlavy kolíkov, to je keď viete, že je TFT LCD správne pripojený a je pripravený na zapnutie. Zapojte Arduino a zistite, či ste LCD správne pripojili, ak sa LCD zapne a obrazovka je biela, potom gratulujeme, úspešne ste pripojili TFT LCD a teraz je pripravený na programovanie. Nakoniec musíme urobiť jednu vec, a tou je pripojenie karty SD k LCD. Na zadnej strane displeja TFT LCD je slot pre kartu SD, do ktorého môžete kartu SD jednoducho zapojiť. Preto stačí zapojiť a je hotovo.
Krok 2: Programovanie TFT LCD
Teraz naprogramujeme LCD tak, aby spustilo hru a mohli sme ju hrať. Nasleduje kód, ktorý musíte skompilovať a nahrať pomocou Arduino IDE.
Problémy, ktoré môžete mať:
Zmeňte parametre TFT LCD podľa modelu, ktorý máte.
KOMPLETNÝ KÓD:
#include #include #include
// ==== Vytváranie objektov
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parametre by mali byť prispôsobené vášmu modelu displeja/štítu URTouch myTouch (6, 5, 4, 3, 2);
// ==== Definovanie písiem
extern uint8_t SmallFont ; externý uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
externý bez znamienka int bird01 [0x41A]; // Vtáčí bitmapa
int x, y; // Premenné pre súradnice, kde bolo stlačené zobrazenie
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int skóre = 0; int lastSpeedUpScore = 0; int najvyššie skóre; boolean screenPressed = false; boolean gameStarted = false;
neplatné nastavenie () {
// Spustenie zobrazenia myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); najvyššie skóre = EEPROM.read (0); // Prečítajte si najvyššie skóre z EEPROM initiateGame (); // Spustenie hry}
prázdna slučka () {
xP = xP-movingRate; // xP - x súradnica pilarov; rozsah: 319 - (-51) drawPilars (xP, yP); // Nakreslí piliere // yB - y súradnica vtáka, ktorá závisí od hodnoty premennej klesajúcej rýchlosti yB+= fallRateInt; fallRate = fallRate+0,4; // Každou inetráciou sa rýchlosť pádu zvyšuje, aby sme mohli ovplyvniť zrýchlenie/ gravitáciu fallRateInt = int (fallRate); // Kontroluje kolíziu, ak (yB> = 180 || yB <= 0) {// horná a dolná časť gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// horný pilier gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// nižší pilier gameOver (); } // Nakreslí vták drawBird (yB);
// Potom, čo stĺp prejde obrazovkou
ak (xPRESET = 250) && (x = 0) && (y = 0) && (x = 30) && (y = 270) {myGLCD.setColor (0, 200, 20); myGLCD.fillRect (318, 0, x, y-1); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, 0, x-1, y);
myGLCD.setColor (0, 200, 20);
myGLCD.fillRect (318, y+81, x, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, y+80, x-1, 204); } else if (x <= 268) {// Nakreslí modrý obdĺžnik vpravo od stĺpika myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Nakreslí pilier myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Nakreslí čierny rám piliera myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, 0, x, y); // Nakreslí modrý obdĺžnik vľavo od stĺpika myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Spodný stĺp
myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, y+80, x+60, 204); myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, y+81, x+1, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, y+80, x, 204); myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, y+80, x-3, 204); } // Nakreslí skóre myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (skóre, 100, 220); }
// ====== drawBird () - vlastná funkcia
void drawBird (int y) {// Nakreslí vtáka - bitmapový myGLCD.drawBitmap (50, y, 35, 30, bird01); // Nakreslí modré obdĺžniky nad a pod vtákom, aby vyčistil jeho predchádzajúci stav myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - vlastná funkcia neplatná gameOver () {oneskorenie (3000); // 1 sekunda // Vymaže obrazovku a vytlačí text myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print („HRA NAD“, CENTRUM, 40); myGLCD.print ("Skóre:", 100, 80); myGLCD.printNumI (skóre, 200, 80); myGLCD.print („Reštartuje sa…“, CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTRUM, 150); oneskorenie (1000); myGLCD.printNumI (1, CENTRUM, 150); oneskorenie (1000); // Zapíše najvyššie skóre v EEPROM, ak (skóre> najvyššie skóre) {najvyššie skóre = skóre; EEPROM.write (0, najvyššie skóre); } // Resetuje premenné na počiatočné hodnoty polohy xP = 319; yB = 50; fallRate = 0; skóre = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Reštartujte hru initiateGame (); }
Krok 3: Hotovo
Vytvorili sme obvod a skompilovali kód. Teraz stačí zapojiť mega Arduino a hrať hru.
Tu mám odkaz na video, ktoré ukazuje, ako táto hra funguje a čo treba urobiť, aby ste ju nastavili:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Dajte mi vedieť, ak máte nižšie problémy.
Odporúča:
Animatronic Bird: 3 kroky
Animatronic Bird: Táto Animatonic bola pôvodne projektom TSA (Technology Student Association). Museli sme urobiť animatroniku a vysvetliť, ako to funguje, a ukázať riadiacu elektroniku
Arduino Flappy Bird - Arduino 2,4 "TFT dotykový displej SPFD5408 Projekt vtáčej hry: 3 kroky
Arduino Flappy Bird | Arduino 2,4 "TFT dotykový displej SPFD5408 Bird Herný projekt: Flappy Bird bol za niekoľko rokov príliš populárnou hrou a veľa ľudí ho vytvorilo vlastným spôsobom, tak som to urobil aj ja. Vytvoril som svoju verziu flappy bird s Arduino a lacným 2,4 " TFT Dotykový displej SPFD5408, začnime teda
Floppy Hackintosh I7-7700 Apple II 3,6 GHz: 7 krokov
Apple II Floppy Hackintosh I7-7700 3,6 GHz: Tento prvý obrázok vám má poskytnúť odkaz na nedotknutú mechaniku (s pôvodným dúhovým logom Apple). Ten môj má o niečo viac kilometrov. Druhý obrázok sú vnútorné prvky, zabudol som odfotiť, než som ho rozobral, so súhlasom Googlu
SD/MMC vhodné pre konektor Floppy Edge: 8 krokov (s obrázkami)
SD/MMC pasuje do konektora Floppy Edge: Pamäťovú kartu SD kamery môžete pripojiť k akémukoľvek projektu vlastnoručnej výroby, ktorý má niekoľko vstupno-výstupných pinov, pomocou bežných konektorov, ktoré pravdepodobne máte práve teraz. Podrobnejšie informácie o tom, ako získať bezplatné mmc ovládače zariadení a inštalácia rôznych open source distribúcií Linuxu
Floppy Powered PCI Slot Case Fan: 4 kroky
Ventilátorový puzdro na disketový slot PCI: Aj keď je disketa takmer vyhynutá, mnoho jednotiek PSU má stále konektor pre napájanie diskety. Neviete si rady s tým, čo s nimi? Využite ich na ochladenie svojej veže hacknutím ventilátora do skrinky na slot PCI