Cuprins:
Video: Floppy Bird: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Astăzi vom face un joc folosind un TFT LCD. Ar arăta ca un joc care este foarte popular și mulți oameni încă joacă acest joc. Jocul se numește Flappy Bird, dar acest joc este puțin diferit, deoarece interfața de utilizare este diferită, precum și modul în care funcționează jocul. Am numit acest joc Floppy Bird, deoarece acest lucru ar putea duce la probleme de copyright. Cu toate acestea, este un joc foarte distractiv și ușor de realizat. Am făcut acest lucru instructabil, care vă va permite să faceți jocul complet și să-l facă să funcționeze așa cum am făcut. Dacă aveți întrebări, vă rugăm să comentați mai jos și voi încerca să răspund la aceste întrebări cât mai repede posibil.
Provizii
- Arduino Mega 2560 și cablu
- Arduino Mega Shield
- Arduino TFT LCD Compatibil cu Arduino Mega 2560
- Card SD
Pasul 1: Asamblarea ecranului LCD TFT
Acum, putem începe să asamblăm ecranul TFT LCD. Vom conecta ecranul LCD TFT la ecran, deci luați mai întâi ecranul LCD TFT și, în principiu, îl aliniați cu pinii de pe ecran. După ce ați aliniat pinii, împingeți TFT LCD în jos, astfel încât să se potrivească în poziție. Când toate capetele pinului sunt în scut și nu puteți vedea capetele pinilor, atunci știți că TFT LCD este conectat corect. Apoi, putem conecta scutul la Arduino Mega 2560. Aliniați pinii scutului de pe Arduino Mega și conectați-l. Când toate capetele de pin sunt în Arduino Mega și nu puteți vedea capetele de pin, asta este când știți că LCD-ul TFT este conectat corect și este gata să fie pornit. Conectați Arduino pentru a vedea dacă ați conectat corect LCD-ul, dacă LCD-ul se aprinde și ecranul este alb, atunci felicitări, ați conectat cu succes LCD-ul TFT și acum este gata să fie programat. În cele din urmă, avem un lucru de făcut, care este să conectăm cardul SD la LCD. Pe partea din spate a ecranului LCD TFT există un slot pentru card SD unde puteți conecta pur și simplu cardul SD. Prin urmare, conectați-l și gata.
Pasul 2: Programarea TFT LCD
Acum, vom programa ecranul LCD astfel încât acesta să ruleze jocul și să-l putem juca. Mai jos este codul pe care trebuie să-l compilați și să îl încărcați utilizând Arduino IDE.
Probleme pe care le-ați putea avea:
Modificați parametrii ecranului TFT LCD în funcție de modelul pe care îl aveți.
CODUL COMPLET:
#include #include #include
// ==== Crearea obiectelor
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parametrii ar trebui să fie adaptați la modelul dvs. Display / Shield URTouch myTouch (6, 5, 4, 3, 2);
// ==== Definirea fonturilor
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
extern unsigned int bird01 [0x41A]; // Bird Bitmap
int x, y; // Variabile pentru coordonatele unde a fost apăsat afișajul
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int FallRateInt = 0; float fallRate = 0; int scor = 0; int lastSpeedUpScore = 0; int cel mai înalt scor; ecran boolean Presat = fals; boolean gameStarted = false;
configurare nulă () {
// Inițiază afișarea myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); maximumScore = EEPROM.read (0); // Citiți cel mai mare scor din EEPROM initiateGame (); // Inițierea jocului}
bucla nulă () {
xP = xP-movingRate; // xP - coordonata x a stâlpilor; interval: 319 - (-51) drawPilars (xP, yP); // Desenează stâlpii // yB - coordonata y a păsării, care depinde de valoarea variabilei Falling Rate yB + = FallRateInt; FallRate = FallRate + 0,4; // Fiecare intrare crește rata de cădere, astfel încât să putem efectul accelerației / gravitației fallRateInt = int (fallRate); // Verifică coliziunea dacă (yB> = 180 || yB <= 0) {// gameOver sus și jos (); } if ((xP = 5) && (yB <= yP-2)) {// stâlp superior gameOver (); } if ((xP = 5) && (yB> = yP + 60)) {// jos pilon jocOver (); } // Desenează pasărea drawBird (yB);
// După ce stâlpul a trecut prin ecran
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) {// Desenează dreptunghi albastru dreapta stâlpului myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, 0, x + 60, y); // Desenează stâlpul myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, 1, x + 1, y-1); // Desenează cadrul negru al stâlpului myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, 0, x, y); // Desenează dreptunghiul albastru din stânga stâlpului myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Stâlpul de jos
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); } // Desenează scorul myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (scor, 100, 220); }
// ====== drawBird () - Funcție personalizată
void drawBird (int y) {// Draws the bird - bitmap myGLCD.drawBitmap (50, y, 35, 30, bird01); // Desenează dreptunghiuri albastre deasupra și dedesubtul păsării pentru a șterge starea sa anterioară myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y + 30, 85, y + 36); } // ======== gameOver () - Funcție personalizată void gameOver () {delay (3000); // 1 secundă // Șterge ecranul și tipărește textul myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTER, 40); myGLCD.print ("Scor:", 100, 80); myGLCD.printNumI (scor, 200, 80); myGLCD.print ("Repornirea …", CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTER, 150); întârziere (1000); myGLCD.printNumI (1, CENTER, 150); întârziere (1000); // Scrie cel mai mare scor din EEPROM dacă (scor> cel mai înalt scor) {scor mai mare = scor; EEPROM.write (0, cel mai înalt scor); } // Resetează variabilele pentru a începe valorile poziției xP = 319; yB = 50; FallRate = 0; scor = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Reporniți jocul initiateGame (); }
Pasul 3: Gata
Am realizat circuitul și am compilat codul. Acum, trebuie doar să conectăm mega Arduino și să jucăm jocul.
Aici, am un link către un videoclip care arată cum funcționează acest joc și ce trebuie făcut pentru a-l configura:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Anunțați-mă dacă aveți probleme mai jos.
Recomandat:
Floppy Disk Camera IR Hack: 8 pași (cu imagini)
Floppy Disk IR Camera Hack: În ultimii șapte ani, am avut o cameră digitală spartă în jur. Este încă capabil să facă fotografii, dar este aproape imposibil de utilizat din cauza unui ecran spart. Problema fundamentală este că, uneori, meniul va primi accidental
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 pași
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: Flappy Bird a fost un joc prea popular acolo în câțiva ani și mulți oameni l-au creat în felul lor, așa am făcut și eu, am creat versiunea mea de flappy bird cu Arduino și ieftinul 2.4" TFT Ecran tactil SPFD5408, Deci, să începem
Apple II Floppy Hackintosh I7-7700 3.6Ghz: 7 pași
Apple II Floppy Hackintosh I7-7700 3.6Ghz: Această primă imagine este pentru a vă face referire la o unitate curată (cu sigla originală curcubeu Apple), a mea are un pic mai mult kilometraj pe ea. A doua imagine este cea internă, am uitat să fac o poză înainte să o demontez, așa că amabilitatea lui Goog
SD / MMC Se potrivește conectorului Floppy Edge: 8 pași (cu imagini)
SD / MMC Se potrivește conectorului Floppy Edge: puteți atașa o cartelă de memorie a camerei SD la orice proiect DIY homebrew care are câțiva pini I / O, utilizând conectori obișnuiți pe care probabil îi aveți chiar acum. Pentru mai multe detalii, cum să obțineți mmc gratuit driverele de dispozitiv și instalarea diferitelor surse Linux open source
Amplificator floppy Apple: 8 pași (cu imagini)
Apple Floppy Amp: Am găsit un vechi de 5,25 " unitate de dischetă la un magazin second-hand pentru 5,99 USD. Mi-a amintit de copilăria mea Apple IIe, așa că am ajuns să o cumpăr, fără să știu ce voi face cu ea. Sunt fan al anacronismului (Plug fără rușine: vezi retro hi-fi instructable) și