Kazalo:
Video: Floppy Bird: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Danes bomo izdelovali igro s TFT LCD zaslonom. To bi izgledalo kot igra, ki je zelo priljubljena in jo veliko ljudi še vedno igra. Igra se imenuje Flappy Bird, vendar je ta igra nekoliko drugačna, ker je uporabniški vmesnik drugačen kot tudi način delovanja igre. To igro sem poimenoval Floppy Bird, ker bi to lahko povzročilo težave z avtorskimi pravicami. Kljub temu je to res zabavna igra in jo je enostavno narediti. Naredil sem to navodilo, ki vam bo omogočilo, da igro popolnoma naredite in deluje tako kot jaz. Če imate kakršna koli vprašanja, komentirajte spodaj in na ta vprašanja bom poskušal odgovoriti čim hitreje.
Zaloge
- Arduino Mega 2560 in kabel
- Mega ščit Arduino
- Arduino TFT LCD združljiv z Arduino Mega 2560
- SD kartice
1. korak: Sestavljanje TFT LCD zaslona
Zdaj lahko začnemo sestavljati TFT LCD. TFT LCD bomo priključili na ščit, zato najprej vzemite LCD TFT in ga v bistvu poravnajte z zatiči na ščitu. Ko poravnate zatiče, potisnite TFT LCD navzdol, da se namesti. Ko so vse glave zatičev v ščitu in če jih ne vidite, takrat veste, da je LCD TFT pravilno priključen. Nato lahko priključimo ščit na Arduino Mega 2560. Poravnajte zatiče ščita na Arduino Mega in ga priključite. Ko so vse glave zatičev v Arduinu Mega in ne vidite glave zatičev, to je ko veste, da je TFT LCD pravilno priključen in je pripravljen za vklop. Priključite Arduino, da preverite, ali ste LCD pravilno priključili, če se LCD vklopi in je zaslon bel, potem čestitam, uspešno ste priključili LCD TFT in zdaj je pripravljen za programiranje. Nazadnje imamo še eno stvar, to je, da kartico SD priključimo na LCD. Na zadnji strani TFT LCD je reža za kartico SD, kamor lahko preprosto priključite kartico SD. Zato ga samo priključite in končano.
2. korak: Programiranje TFT LCD
Zdaj bomo LCD programirali tako, da zažene igro in jo lahko predvajamo. Spodaj je koda, ki jo morate sestaviti in naložiti z uporabo Arduino IDE.
Težave, ki bi jih lahko imeli:
Spremenite parametre TFT LCD -ja glede na model, ki ga imate.
POPOLNA KODA:
#include #include #include
// ==== Ustvarjanje predmetov
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parametre je treba prilagoditi modelu vašega zaslona/ščita URTouch myTouch (6, 5, 4, 3, 2);
// ==== Določanje pisav
extern uint8_t SmallFont ; zunanji uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
zunanji nepodpisani int bird01 [0x41A]; // Bitna slika ptic
int x, y; // Spremenljivke za koordinate, kjer je bil pritisnjen zaslon
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int rezultat = 0; int lastSpeedUpScore = 0; int najvišji rezultat; logični zaslonPressed = false; boolean gameStarted = false;
void setup () {
// Začetek prikaza myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); najvišji rezultat = EEPROM.preberi (0); // Preberite najvišjo oceno iz EEPROM -a InitiateGame (); // Začni igro}
void loop () {
xP = xP-movingRate; // xP - x koordinata stebrov; obseg: 319 - (-51) drawPilars (xP, yP); // Nariše stebre // yB - y koordinato ptice, ki je odvisna od vrednosti padajoče spremenljivke yB+= fallRateInt; fallRate = fallRate+0,4; // Z vsakim vklopom se stopnja padca poveča, tako da lahko vplivamo na pospešek/ gravitacijo fallRateInt = int (fallRate); // Preveri trčenje if (yB> = 180 || yB <= 0) {// top in bottom gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// gameOver () zgornjega stebra; } if ((xP = 5) && (yB> = yP+60)) {// gameOver () spodnjega stebra; } // Nariše ptico drawBird (yB);
// Ko steber preide skozi zaslon
če (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) {// Nariše modri pravokotnik desno od stebra myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Nariše steber myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Nariše črni okvir stebra myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, 0, x, y); // Nariše modri pravokotnik levo od stebra myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Spodnji steber
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); } // Nariše rezultat myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (rezultat, 100, 220); }
// ====== drawBird () - funkcija po meri
void drawBird (int y) {// Nariše ptico - bitna slika myGLCD.drawBitmap (50, y, 35, 30, bird01); // Nariše modre pravokotnike nad in pod ptico, da počisti njeno predhodno stanje myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - Funkcija po meri void gameOver () {delay (3000); // 1 sekunda // Počisti zaslon in natisne besedilo myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTER, 40); myGLCD.print ("Ocena:", 100, 80); myGLCD.printNumI (rezultat, 200, 80); myGLCD.print ("Ponovni zagon …", CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTER, 150); zamuda (1000); myGLCD.printNumI (1, CENTER, 150); zamuda (1000); // Zapiše najvišji rezultat v EEPROM if (rezultat> najvišji rezultat) {najvišji rezultat = rezultat; EEPROM.write (0, najvišji rezultat); } // Ponastavi spremenljivke na začetne vrednosti položaja xP = 319; yB = 50; fallRate = 0; rezultat = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Znova zaženite igro InitiateGame (); }
3. korak: Končano
Naredili smo vezje in sestavili kodo. Zdaj moramo samo priključiti Arduino mega in igrati igro.
Tukaj imam povezavo do videoposnetka, ki prikazuje, kako ta igra deluje in kaj storiti, da jo nastavim:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Sporočite mi, če imate težave spodaj.
Priporočena:
Animatronic Bird: 3 koraki
Animatronic Bird: Ta Animatonic je bil prvotno projekt TSA (Technology Student Association). Morali smo narediti animatroniko in razložiti, kako deluje, s prikazom krmilne elektronike
Arduino Flappy Bird - Arduino 2.4 "TFT zaslon na dotik SPFD5408 Projekt igre ptic: 3 koraki
Arduino Flappy Bird | Arduino 2,4 -palčni TFT zaslon na dotik SPFD5408 Bird Game Project: Flappy Bird je bila v nekaj letih preveč priljubljena igra in veliko ljudi jo je ustvarilo na svoj način, zato sem tudi jaz ustvaril svojo različico flappy bird z Arduinom in poceni 2,4 " TFT Zaslon na dotik SPFD5408, zato začnimo
Arduino Flappy Bird igra s koraki 2,4: 3
Arduino Flappy Bird Game With 2.4: Hi Fantje, v tem navodilu se bomo naučili, kako ustvariti in zagnati igro flappy bird z arduino uno na 2.4 " tft touchscreen. Ker je flappy bird zelo priljubljena igra, sem mislil, da bi moral preizkusiti mojo različico flappy bird, da se bomo igrali flappy bir
Raspberry Pi Bird Box: 4 koraki
Raspberry Pi Bird Box: Ideja o ptičji škatli je nastala, ko je hči prijateljev navdušena nad divjimi živalmi in njen rojstni dan se je hitro približeval. Ker imam 3D tiskalnik in razmišljam o " izdelovalcu " med prijatelji sem se prostovoljno odločil za izdelavo ptičje škatlice. Tudi jaz
Floppy USB + Skriti skrivni pogon: 7 korakov
Disketni pogon USB + Skriti skrivni pogon: Sledi drugi projekt, kjer sem rešil dele za nove projekte z obsežne diskete. Želel sem narediti še nekaj vrat USB, vendar se nisem hotel poigrati po hrbtni strani računalnika za nova vrata, vendar mi je bilo všeč, kako so bili skriti