Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: TFT -nestekidenäytön kokoaminen
- Vaihe 2: TFT -nestekidenäytön ohjelmointi
- Vaihe 3: Valmis
Video: Floppy Bird: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tänään teemme pelin TFT -nestekidenäytöllä. Tämä näyttäisi peliltä, joka on todella suosittu ja monet ihmiset pelaavat edelleen tätä peliä. Peli on nimeltään Flappy Bird, mutta tämä peli on hieman erilainen, koska käyttöliittymä on erilainen kuin peli toimii. Kutsuin tätä peliä Floppy Birdiksi, koska tämä voi johtaa tekijänoikeusongelmiin. Peli on kuitenkin todella hauska ja helppo tehdä. Olen tehnyt tämän ohjeellisen, jonka avulla voit tehdä pelin kokonaan ja saada sen toimimaan kuten minä. Jos sinulla on kysyttävää, kommentoi alle ja yritän vastata näihin kysymyksiin mahdollisimman nopeasti.
Tarvikkeet
- Arduino Mega 2560 ja kaapeli
- Arduino Mega Shield
- Arduino TFT LCD Yhteensopiva Arduino Mega 2560: n kanssa
- Sd-kortti
Vaihe 1: TFT -nestekidenäytön kokoaminen
Nyt voimme aloittaa TFT -nestekidenäytön kokoamisen. Yhdistämme TFT LCD -näytön suojaan, joten ota ensin TFT LCD ja kohdista se pohjimmiltaan kilven tappeihin. Kun olet kohdistanut nastat, työnnä TFT LCD -näyttö alas niin, että se sopii paikalleen. Kun kaikki nastanpäät ovat suojuksessa etkä näe nastanpäitä, tiedät, että TFT -nestekidenäyttö on kytketty oikein. Seuraavaksi voimme liittää suojuksen Arduino Mega 2560 -laitteeseen. Kohdista kilven tapit Arduino Mega -laitteeseen ja kytke se. kun tiedät, että TFT -nestekidenäyttö on kytketty oikein ja että se on valmis käynnistymään. Kytke Arduino ja tarkista, oletko liittänyt nestekidenäytön oikein, jos nestekidenäyttö käynnistyy ja näyttö on valkoinen, onnittelut, olet yhdistänyt TFT -nestekidenäytön ja nyt se on valmis ohjelmoitavaksi. Lopuksi meillä on yksi asia, joka on liittää SD -kortti nestekidenäyttöön. TFT -LCD -näytön takana on SD -korttipaikka, johon voit yksinkertaisesti liittää SD -kortin. Siksi kytke se vain ja se on valmis.
Vaihe 2: TFT -nestekidenäytön ohjelmointi
Nyt ohjelmoimme LCD -näytön niin, että se ajaa peliä ja voimme pelata sitä. Alla on koodi, joka sinun on käännettävä ja ladattava Arduino IDE: n avulla.
Ongelmia, joita sinulla saattaa olla:
Muuta TFT -nestekidenäytön parametreja käytetyn mallin mukaan.
TÄYDELLINEN KOODI:
#Sisällytä #Sisällytä #Sisällytä
// ==== Objektien luominen
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parametrit tulee säätää Display/Shield -mallisi mukaan URTouch myTouch (6, 5, 4, 3, 2);
// ==== Fonttien määrittäminen
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
ulkoinen allekirjoittamaton int bird01 [0x41A]; // Lintujen bittikartta
int x, y; // Muuttujat koordinaateille, joissa näyttöä on painettu
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; float fallRate = 0; int pisteet = 0; int lastSpeedUpScore = 0; int korkein pisteet; boolean screenPressed = false; boolean gameStarted = false;
void setup () {
// Aloita näyttö myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); korkein pisteet = EEPROM.read (0); // Lue korkein pistemäärä EEPROM initiateGame (); // Aloita peli}
void loop () {
xP = xP-liikkuvuusnopeus; // xP - pilarien x -koordinaatti; alue: 319 - (-51) drawPilars (xP, yP); // Piirrä pylväät // linnun yB - y -koordinaatti, joka riippuu laskuarvon muuttujan arvosta yB+= fallRateInt; fallRate = fallRate+0,4; // Jokaisella lisäyksellä putoamisnopeus kasvaa niin, että voimme vaikuttaa kiihtyvyyden/ painovoiman laskuunRateInt = int (fallRate); // Tarkistaa törmäyksen, jos (yB> = 180 || yB <= 0) {// ylhäältä ja alhaalta gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// ylemmän pilarin peliOver (); } if ((xP = 5) && (yB> = yP+60)) {// alemman pilarin peliOver (); } // Piirrä linnun drawBird (yB);
// Kun pilari on kulkenut seulan läpi
jos (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) {// Piirtää sinisen suorakulmion myGLCD.setColor -pilarin oikealle puolelle (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Piirrä pilarin myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Piirrä pilarin musta kehys myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, 0, x, y); // Piirrä sininen suorakulmio myGLCD.setColor -pilarin vasemmalle puolelle (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Alin pilari
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); } // Piirrä pisteet myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (pisteet, 100, 220); }
// ====== drawBird () - mukautettu toiminto
void drawBird (int y) {// Piirrä lintu - bittikartta myGLCD.drawBitmap (50, y, 35, 30, bird01); // Piirrä sinisiä suorakulmioita linnun ylä- ja alapuolelle tyhjentääkseen sen edellisen tilan myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - mukautettu toiminto void gameOver () {delay (3000); // 1 sekunti // Tyhjentää näytön ja tulostaa tekstin myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTER, 40); myGLCD.print ("Pisteet:", 100, 80); myGLCD.printNumI (pisteet, 200, 80); myGLCD.print ("Käynnistetään uudelleen …", CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTER, 150); viive (1000); myGLCD.printNumI (1, CENTER, 150); viive (1000); // Kirjoittaa EEPROMin korkeimman pistemäärän, jos (pisteet> korkein pisteet) {korkein pisteet = pisteet; EEPROM.write (0, korkein pisteet); } // Palauttaa muuttujat alkuasentoihin xP = 319; yB = 50; fallRate = 0; pisteet = 0; lastSpeedUpScore = 0; liikkuva nopeus = 3; gameStarted = epätosi; // Käynnistä peli uudelleen initiateGame (); }
Vaihe 3: Valmis
Olemme tehneet piirin ja koonneet koodin. Nyt meidän on vain kytkettävä Arduino -mega ja pelattava peliä.
Tässä on linkki videoon, joka näyttää, miten tämä peli toimii ja mitä tehdä sen asettamiseksi:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Kerro minulle, jos sinulla on ongelmia alla.
Suositeltava:
Lihasvoimainen Flappy Bird: 9 vaihetta (kuvilla)
Muscle Powered Flappy Bird: Saatat muistaa, kun Flappy Bird valloitti maailman ja tuli lopulta niin suosittu, että luoja poisti sen sovelluskaupoista välttääkseen ei -toivottua julkisuutta. Tämä on Flappy Bird, jota et ole koskaan ennen nähnyt; yhdistämällä muutamia hyllystä löytyviä komponentteja
Animatronic Bird Creature: 3 vaihetta
Animatronic Bird Creature: Tervetuloa! Tänään aion näyttää sinulle kuinka herättää dollarikaupasta löytämäni yksinkertainen luuranko. Tämän tiedon avulla voit muokata sitä ja muuttua ulkomaalaiseksi lintuhahmoksi. Ensin tarvitset luurankoa
Arduino Flappy Bird - Arduino 2,4 "TFT -kosketusnäyttö SPFD5408 Bird Game Project: 3 vaihetta
Arduino Flappy Bird | Arduino 2,4 "TFT -kosketusnäyttö SPFD5408 Bird Game Project: Flappy Bird oli liian suosittu peli siellä muutamassa vuodessa, ja monet ihmiset loivat sen omalla tavallaan, niin minäkin, loin oman versioni flappy birdistä Arduinolla ja halvalla 2,4" TFT: llä Kosketusnäyttö SPFD5408, joten aloitetaan
Apple II Floppy Hackintosh I7-7700 3.6Ghz: 7 vaihetta
Apple II Floppy Hackintosh I7-7700 3.6Ghz: Tämä ensimmäinen kuva on tarkoitettu viittaamaan koskemattomaan asemaan (jossa on alkuperäinen sateenkaari-Apple-logo), omallani on hieman enemmän kilometrejä. Toinen kuva on sisäosat, unohdin ottaa kuvan ennen purkamista, joten Googin kohteliaisuudesta
Apple Floppy Amp: 8 vaihetta (kuvilla)
Apple Floppy Amp: Löytyi vanha 5.25 " levykeasema säästökaupassa hintaan 5,99 dollaria. Se muistutti minua Apple IIe -lapsuudestani, joten päädyin ostamaan sen tietämättä, mitä aion tehdä sen kanssa. Olen anakronismin fani (häpeämätön pistoke: katso opastettava retro-hifi) ja