Sadržaj:
Video: Floppy Bird: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Danas ćemo raditi igru koristeći TFT LCD. Ovo bi izgledalo kao igra koja je zaista popularna i mnogi ljudi još uvijek igraju ovu igru. Igra se zove Flappy Bird, ali ova igra je malo drugačija jer je korisničko sučelje različito, kao i način na koji igra radi. Ovu igru sam nazvao Floppy Bird jer bi to moglo dovesti do problema s autorskim pravima. Ipak, to je zaista zabavna igra i lako ju je napraviti. Napravio sam ovo uputstvo koje će vam omogućiti da igru učinite u potpunosti i učinite da radi kao ja. Ako imate bilo kakvih pitanja, molimo vas da komentarišete ispod i ja ću pokušati odgovoriti na ova pitanja što je brže moguće.
Supplies
- Arduino Mega 2560 i kabel
- Arduino Mega Shield
- Arduino TFT LCD kompatibilan sa Arduino Mega 2560
- Sd kartica
Korak 1: Sklapanje TFT LCD -a
Sada možemo početi sa sastavljanjem TFT LCD -a. Spojit ćemo TFT LCD na štit, pa prvo uzmite TFT LCD i u osnovi ga poravnajte s pinovima na štitu. Nakon što poravnate pinove, gurnite TFT LCD prema dolje tako da sjedne na mjesto. Kad su sve pin -glave u štitu i ne vidite ih, tada znate da je TFT LCD pravilno povezan. Zatim možemo spojiti štit na Arduino Mega 2560. Poravnajte pinove štita na Arduino Megi i uključite ih. Kada su sve pin -glave u Arduino Mega -i i ne možete vidjeti pin -glave, to je kada znate da je TFT LCD pravilno povezan i spreman za uključivanje. Priključite Arduino da vidite jeste li pravilno povezali LCD, ako se LCD uključuje i ekran je bijel, a zatim čestitam, uspješno ste povezali TFT LCD i sada je spreman za programiranje. Na kraju, imamo jednu stvar za učiniti, a to je spojiti SD karticu na LCD. Na stražnjoj strani TFT LCD -a nalazi se utor za SD karticu u koji možete jednostavno priključiti SD karticu. Stoga ga samo priključite i gotovo je.
Korak 2: Programiranje TFT LCD -a
Sada ćemo programirati LCD tako da pokreće igru i možemo je igrati. Ispod je kôd koji morate sastaviti i učitati pomoću Arduino IDE -a.
Problemi koje biste mogli imati:
Promijenite parametre TFT LCD -a prema modelu koji imate.
KOMPLETAN KOD:
#include #include #include
// ==== Kreiranje objekata
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parametre treba prilagoditi vašem modelu ekrana/štita URTouch myTouch (6, 5, 4, 3, 2);
// ==== Definiranje fontova
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
vanjski nepotpisani int bird01 [0x41A]; // Bitmap ptica
int x, y; // Varijable za koordinate na kojima je zaslon pritisnut
// 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 mostScore; boolean screenPressed = false; boolean gameStarted = false;
void setup () {
// Pokretanje prikaza myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); najveći rezultat = EEPROM.čitano (0); // Očitajte najveći rezultat iz EEPROM -a InitiateGame (); // Pokreni igru}
void loop () {{100} {101}
xP = xP-movingRate; // xP - x koordinata stubova; raspon: 319 - (-51) drawPilars (xP, yP); // Crta stubove // yB - y koordinatu ptice koja ovisi o vrijednosti padajuće varijable yB+= fallRateInt; fallRate = fallRate+0,4; // Svakim umetanjem stopa pada se povećava tako da možemo utjecati na ubrzanje/ gravitaciju fallRateInt = int (fallRate); // Provjerava koliziju if (yB> = 180 || yB <= 0) {// vrh i dno gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// gameOver (); } // Crta pticu drawBird (yB);
// Nakon što je stub prošao kroz ekran
if (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) {// Nacrta plavi pravokutnik desno od stuba myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Crta stup myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Crta crni okvir stuba myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, 0, x, y); // Crta plavi pravokutnik lijevo od stuba myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Donji stub
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); } // Izvlači rezultat myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (rezultat, 100, 220); }
// ====== drawBird () - Prilagođena funkcija
void drawBird (int y) {// Crta pticu - bitmapa myGLCD.drawBitmap (50, y, 35, 30, bird01); // Crta plave pravokutnike iznad i ispod ptice kako bi očistio njeno prethodno stanje myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - Prilagođena funkcija void gameOver () {delay (3000); // 1 sekunda // Briše ekran i ispisuje tekst myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTAR, 40); myGLCD.print ("Score:", 100, 80); myGLCD.printNumI (rezultat, 200, 80); myGLCD.print ("Ponovno pokretanje …", CENTAR, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTAR, 150); kašnjenje (1000); myGLCD.printNumI (1, CENTAR, 150); kašnjenje (1000); // Zapisuje najveći rezultat u EEPROM -u if (rezultat> najveći rezultat) {najviši rezultat = rezultat; EEPROM.write (0, najveći rezultat); } // Vraća varijable na početne vrijednosti položaja xP = 319; yB = 50; fallRate = 0; rezultat = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Ponovno pokretanje igre initiateGame (); }
Korak 3: Gotovo
Napravili smo kolo i sastavili kod. Sada moramo samo priključiti Arduino mega i igrati igru.
Evo, imam vezu do videa koji prikazuje kako ova igra funkcionira i šta treba učiniti kako bi je postavili:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Javite mi ako imate problema dolje.
Preporučuje se:
Flappy Bird na mišiće: 9 koraka (sa slikama)
Flappy Bird pokrenuta mišićima: Možda se sjećate kada je Flappy Bird olujno zauzeo svijet, postajući na kraju toliko popularan da ga je kreator uklonio iz trgovina aplikacija kako bi izbjegao neželjeni publicitet. Ovo je Flappy Bird kakvog dosad niste vidjeli; kombinovanjem nekoliko kompozicija sa polica
Džepna mašina za igru Flappy Bird: 5 koraka
Pocket Flappy Bird Game Machine: Ovo je igraća konzola zasnovana na nodemcu esp8266 mikrokontroleru koja može igrati flappy bird i mnoge druge igre. Ova mašina se također može koristiti za izradu deauthera na osnovu spacehuhns koda na https://github.com/SpacehuhnTech/esp8266_deauther
Crashy Bird: 8 koraka
Crashy Bird: Trebat će vam: Računar Mikro-bit Miro USB kabel To je sve što vam treba, ali po mogućnosti trebate imati cijeli Micro-bit komplet za to. Da biste izvršili kodiranje, potrebno je i da prođete
Arduino Flappy Bird - Arduino 2.4 "TFT zaslon osjetljiv na dodir SPFD5408 Projekt igre ptica: 3 koraka
Arduino Flappy Bird | Arduino 2.4 "TFT zaslon osjetljiv na dodir SPFD5408 Projekt igre ptica: Flappy Bird je bila previše popularna igra unatrag nekoliko godina i mnogi ljudi su je stvorili na svoj način pa sam i ja stvorio svoju verziju flappy bird sa Arduinom i jeftinim 2.4" TFT " Zaslon osjetljiv na dodir SPFD5408, pa počnimo
SD/MMC stane u Floppy Edge konektor: 8 koraka (sa slikama)
SD/MMC stane u Floppy Edge konektor: Možete priključiti memorijsku karticu SD kamere na bilo koji domaći DIY projekat koji ima nekoliko I/O pinova, koristeći obične konektore koje trenutno imate. Za više detalja, kako dobiti besplatni mmc upravljačke programe za uređaje i instaliranje različitih Linux distribucija otvorenog koda