Inhoudsopgave:
Video: Floppy Bird: 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Vandaag gaan we een spel maken met een TFT LCD. Dit zou eruitzien als een spel dat erg populair is en veel mensen spelen dit spel nog steeds. De game heet Flappy Bird, maar deze game is een beetje anders omdat de gebruikersinterface anders is en de manier waarop de game werkt. Ik noemde dit spel Floppy Bird omdat dit tot copyrightproblemen zou kunnen leiden. Desalniettemin is het een erg leuk spel en het is makkelijk te maken. Ik heb dit instructable gemaakt waarmee je het spel volledig kunt maken en het kunt laten werken zoals ik deed. Als je vragen hebt, reageer dan hieronder en ik zal proberen deze vragen zo snel mogelijk te beantwoorden.
Benodigdheden
- Arduino Mega 2560 en kabel
- Arduino Mega Shield
- Arduino TFT LCD Compatibel met de Arduino Mega 2560
- SD-kaart
Stap 1: Het TFT LCD-scherm monteren
Nu kunnen we beginnen met het monteren van de TFT LCD. We zullen het TFT LCD-scherm op het schild aansluiten, dus neem eerst het TFT LCD-scherm en lijn het in feite uit met de pinnen op het schild. Nadat u de pinnen hebt uitgelijnd, duwt u het TFT LCD-scherm naar beneden zodat het op zijn plaats past. Als alle pinkoppen in het schild zitten en je kunt de pinkoppen niet zien, dan weet je dat het TFT LCD-scherm goed is aangesloten. Vervolgens kunnen we het schild op de Arduino Mega 2560 aansluiten. Lijn de pinnen van het schild op de Arduino Mega uit en sluit het aan. Als alle pinnen in de Arduino Mega zitten en je de pinnen niet kunt zien, is dat wanneer u weet dat het TFT LCD-scherm correct is aangesloten en klaar is om te worden ingeschakeld. Sluit de Arduino aan om te zien of je het LCD-scherm correct hebt aangesloten, als het LCD-scherm wordt ingeschakeld en het scherm wit is, gefeliciteerd, je hebt het TFT LCD-scherm met succes aangesloten en nu is het klaar om te worden geprogrammeerd. Ten slotte moeten we nog één ding doen, namelijk de SD-kaart in het LCD-scherm aansluiten. Aan de achterkant van het TFT LCD-scherm bevindt zich een SD-kaartsleuf waar u eenvoudig de SD-kaart in kunt steken. Dus gewoon inpluggen en klaar.
Stap 2: Programmeren van de TFT LCD
Nu zullen we het LCD-scherm programmeren zodat het het spel uitvoert en we het kunnen spelen. Hieronder staat de code die je moet compileren en uploaden met behulp van de Arduino IDE.
Mogelijke problemen:
Wijzig de parameters van het TFT LCD-scherm volgens het model dat u heeft.
VOLLEDIGE CODE:
#include #include #include
//==== Objecten maken
UTFT myGLCD(ILI9341_16, 38, 39, 40, 41); //Parameters moeten worden aangepast aan uw Display/Shield-model URTouch myTouch (6, 5, 4, 3, 2);
//==== Lettertypen definiëren
extern uint8_t SmallFont; extern uint8_t BigFont; extern uint8_t SevenSegNumFont;
extern niet-ondertekend int bird01[0x41A]; // Bitmap van vogels
int x, y; // Variabelen voor de coördinaten waar het scherm is ingedrukt
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int-score = 0; int lastSpeedUpScore = 0; int hoogste score; booleaans scherm Pressed = false; boolean gameStarted = false;
ongeldige setup() {
// Start weergave myGLCD. InitLCD(); mijnGLCD.clrScr(); mijnTouch. InitTouch(); myTouch.setPrecision(PREC_MEDIUM); hoogsteScore = EEPROM.lezen(0); // Lees de hoogste score van de EEPROM initialGame(); // Start het spel }
lege lus() {
xP=xP-movingRate; // xP - x-coördinaat van de pilaren; bereik: 319 - (-51) trekpilaren (xP, yP); // Tekent de pijlers // yB - y-coördinaat van de vogel die afhangt van de waarde van de variabele fallRate yB+=fallRateInt; fallRate=fallRate+0,4; // Elke inetratie neemt de valsnelheid toe, zodat we het effect van versnelling/ zwaartekracht kunnen fallRateInt= int(fallRate); // Controleert op botsing if(yB>=180 || yB<=0){ // top en bottom gameOver(); } if((xP=5) && (yB<=yP-2)){ // bovenste pijler gameOver(); } if((xP=5) && (yB>=yP+60)){ // lagere pijler gameOver(); } // Tekent de vogel drawBird (yB);
// Nadat de pilaar door het scherm is gegaan
if (xPRESET=250) && (x=0) && (y=0) && (x=30) && (y=270){ myGLCD.setColor (0, 200, 20); mijnGLCD.fillRect (318, 0, x, y-1); mijnGLCD.setColor (0, 0, 0); mijnGLCD.drawRect(319, 0, x-1, y);
mijnGLCD.setColor (0, 200, 20);
mijnGLCD.fillRect(318, y+81, x, 203); mijnGLCD.setColor (0, 0, 0); mijnGLCD.drawRect(319, y+80, x-1, 204); } else if(x<=268) { // Tekent een blauwe rechthoek rechts van de pilaar myGLCD.setColor (114, 198, 206); mijnGLCD.fillRect(x+51, 0, x+60, y); // Tekent de pijler myGLCD.setColor (0, 200, 20); mijnGLCD.fillRect(x+49, 1, x+1, y-1); // Tekent het zwarte frame van de pilaar myGLCD.setColor (0, 0, 0); mijnGLCD.drawRect(x+50, 0, x, y); // Tekent de blauwe rechthoek links van de pilaar myGLCD.setColor (114, 198, 206); mijnGLCD.fillRect(x-1, 0, x-3, y);
// De onderste pijler
mijnGLCD.setColor (114, 198, 206); mijnGLCD.fillRect(x+51, y+80, x+60, 204); mijnGLCD.setColor (0, 200, 20); mijnGLCD.fillRect(x+49, y+81, x+1, 203); mijnGLCD.setColor (0, 0, 0); mijnGLCD.drawRect(x+50, y+80, x, 204); mijnGLCD.setColor (114, 198, 206); mijnGLCD.fillRect(x-1, y+80, x-3, 204); } // Tekent de score myGLCD.setColor (0, 0, 0); mijnGLCD.setBackColor (221, 216, 148); mijnGLCD.setFont(BigFont); mijnGLCD.printNumI(score, 100, 220); }
//====== drawBird() - Aangepaste functie
void drawBird (int y) { // Tekent de vogel - bitmap myGLCD.drawBitmap (50, y, 35, 30, bird01); // Tekent blauwe rechthoeken boven en onder de vogel om de vorige status myGLCD.setColor (114, 198, 206) te wissen; myGLCD.fillRoundRect(50, y, 85, y-6); myGLCD.fillRoundRect(50, y+30, 85, y+36); } //======== gameOver() - Aangepaste functie void gameOver() { delay(3000); // 1 seconde // Wist het scherm en drukt de tekst myGLCD.clrScr(); mijnGLCD.setColor(255, 255, 255); mijnGLCD.setBackColor (0, 0, 0); mijnGLCD.setFont(BigFont); myGLCD.print("SPEL OVER", CENTRUM, 40); myGLCD.print("Score:", 100, 80); mijnGLCD.printNumI(score, 200, 80); myGLCD.print("Herstarten…", CENTER, 120); mijnGLCD.setFont(SevenSegNumFont); mijnGLCD.printNumI(2, CENTER, 150); vertraging (1000); mijnGLCD.printNumI(1, CENTER, 150); vertraging (1000); // Schrijft de hoogste score in de EEPROM als (score > hoogste score) { hoogste score = score; EEPROM.write(0, hoogste score); } // Stelt de variabelen opnieuw in op startpositiewaarden xP=319; yB=50; fallRate=0; score = 0; lastSpeedUpScore = 0; bewegende snelheid = 3; gameStarted = false; // Start het spel opnieuw initialGame(); }
Stap 3: Klaar
We hebben de schakeling gemaakt en de code gecompileerd. Nu hoeven we alleen nog maar de Arduino-mega aan te sluiten en het spel te spelen.
Hier heb ik een link naar een video die laat zien hoe dit spel werkt en wat je moet doen om het in te stellen:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Laat het me weten als je problemen hebt hieronder.
Aanbevolen:
Floppy Disk IR Camera Hack: 8 stappen (met afbeeldingen)
Floppy Disk IR Camera Hack: De afgelopen zeven jaar heb ik een kapotte digitale camera rondslingeren. Foto's maken kan nog wel, maar door een kapot scherm bijna niet te gebruiken. Het fundamentele probleem is dat het menu soms per ongeluk wordt
Animatronic Bird: 3 stappen
Animatronic Bird: Deze Animatonic was oorspronkelijk een TSA-project (Technology Student Association). We moesten een animatronic maken en uitleggen hoe het werkt met de besturingselektronica
Arduino Flappy Bird - Arduino 2,4" TFT-touchscreen SPFD5408 Bird Game-project - Ajarnpa
Arduino Flappy Bird | Arduino 2.4" TFT Touchscreen SPFD5408 Bird Game Project: Flappy Bird was in een paar jaar tijd een te populair spel en veel mensen hebben het op hun eigen manier gemaakt, net als ik, ik heb mijn versie van flappy bird gemaakt met Arduino en de goedkope 2.4" TFT Touchscreen SPFD5408, dus laten we beginnen
Apple Floppy Amp: 8 stappen (met afbeeldingen)
Apple Floppy Amp: Ik heb een oude 5,25" gevonden diskettestation in een kringloopwinkel voor $ 5,99. Het deed me denken aan mijn Apple IIe-jeugd, dus ik kocht het uiteindelijk zonder te weten wat ik ermee ging doen. Ik ben een fan van anachronisme (schaamteloze plug: zie retro hifi instructable) en
Floppy Disk Bag: Schijf installeren 2: 21 stappen (met afbeeldingen)
Floppy Disk Bag: Installeer Disk 2: Bijna twee jaar geleden begon ik te werken aan mijn eerste floppy disk-tas (tweede foto) en vervolgens aan mijn eerste instructable. In die twee jaar is de tas over de hele wereld geblogd, een instructables.com-wedstrijd en verschillende kunstprijzen gewonnen, b