INHOUDSOPGAWE:
Video: Floppy Bird: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Vandag maak ons 'n speletjie met 'n TFT LCD. Dit sal lyk soos 'n baie gewilde spel, en baie mense speel nog steeds hierdie speletjie. Die spel heet Flappy Bird, maar hierdie speletjie is 'n bietjie anders, want die UI is anders as die manier waarop die spel werk. Ek het hierdie speletjie Floppy Bird genoem, aangesien dit tot kopieregkwessies kan lei. Tog is dit 'n baie prettige speletjie en maklik om te maak. Ek het hierdie instruksies gemaak waarmee u die spel heeltemal kan maak en laat werk soos ek. As u enige vrae het, kommentaar lewer hieronder, en ek sal probeer om hierdie vrae so vinnig as moontlik te beantwoord.
Voorrade
- Arduino Mega 2560 en kabel
- Arduino Mega Shield
- Arduino TFT LCD Versoenbaar met die Arduino Mega 2560
- SD kaart
Stap 1: Monteer die TFT LCD
Nou kan ons die TFT LCD begin saamstel. Ons koppel die TFT LCD aan die skerm, dus neem eers die TFT LCD en pas dit basies met die penne op die skild. Sodra u die penne in lyn gebring het, druk die TFT LCD af sodat dit op sy plek pas. As al die penkoppe in die skild is en u nie die penkoppe kan sien nie, weet u dat die TFT LCD korrek gekoppel is. Vervolgens kan ons die skild aan die Arduino Mega 2560 koppel. Rig die penne van die skild op die Arduino Mega in en steek dit in. As al die penkoppe in die Arduino Mega is en u nie die penkoppe kan sien nie, is dit as u weet dat die TFT LCD behoorlik gekoppel is en gereed is om aan te skakel. Sluit die Arduino aan om te sien of u die LCD behoorlik gekoppel het, as die LCD aanskakel en die skerm wit is, baie geluk, u het die TFT LCD suksesvol gekoppel en nou is dit gereed om geprogrammeer te word. Laastens het ons een ding om te doen: om die SD -kaart in die LCD aan te sluit. Aan die agterkant van die TFT LCD is daar 'n SD -kaartgleuf waar u die SD -kaart eenvoudig kan aansluit. Koppel dit dus net aan en dit is klaar.
Stap 2: Programmering van die TFT LCD
Nou sal ons die LCD programmeer sodat dit die spel laat loop en dit kan speel. Hieronder is die kode wat u moet opstel en oplaai met die Arduino IDE.
Probleme wat u moontlik het:
Verander die parameters van die TFT LCD volgens die model wat u het.
VOLLEDIGE KODE:
#include #include #include
// ==== Voorwerpe skep
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parameters moet aangepas word by u Display/Shield -model URTouch myTouch (6, 5, 4, 3, 2);
// ==== Lettertipes definieer
eksterne uint8_t SmallFont ; eksterne uint8_t BigFont ; ekstern uint8_t SevenSegNumFont ;
eksterne ongetekende int bird01 [0x41A]; // Voël -bitmap
int x, y; // Veranderlikes vir die koördinate waar die skerm gedruk is
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int telling = 0; int lastSpeedUpScore = 0; int hoogste telling; boolean screenPressed = false; boolean gameStarted = false;
ongeldige opstelling () {
// Begin vertoon myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); hoogste telling = EEPROM.read (0); // Lees die hoogste telling van die EEPROM initiateGame (); // Begin die spel}
leemte -lus () {
xP = xP-movingRate; // xP - x koördinaat van die pilare; reeks: 319 - (-51) drawPilars (xP, yP); // Teken die pilare // yB - y koördinaat van die voël wat afhang van die waarde van die veranderende fallRate yB+= fallRateInt; fallRate = fallRate+0.4; // Elke invoer styg die daling, sodat ons die effek van versnelling/ swaartekrag kan inslaan fallRateInt = int (fallRate); // Kontroleer op botsing as (yB> = 180 || yB <= 0) {// bo en onder gameOver (); } as ((xP = 5) && (yB <= yP-2)) {// boonste pilaar gameOver (); } as ((xP = 5) && (yB> = yP+60)) {// onderste pilaar gameOver (); } // Teken die voël drawBird (yB);
// Nadat die pilaar deur die skerm gegaan het
as (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); } anders as (x <= 268) {// Teken 'n blou reghoek regs van die pilaar myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Teken die pilaar myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Teken die swart raam van die pilaar myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, 0, x, y); // Teken die blou reghoek links van die pilaar myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Die onderste pilaar
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); } // Teken die telling myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (telling, 100, 220); }
// ====== drawBird () - pasgemaakte funksie
void drawBird (int y) {// Teken die voël - bitmap myGLCD.drawBitmap (50, y, 35, 30, bird01); // Teken blou reghoeke bo en onder die voël om sy vorige toestand myGLCD.setColor (114, 198, 206) skoon te maak; myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - pasgemaakte funksie void gameOver () {delay (3000); // 1 sekonde // Maak die skerm skoon en druk die teks myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTRE, 40); myGLCD.print ("Telling:", 100, 80); myGLCD.printNumI (telling, 200, 80); myGLCD.print ("Herbegin …", CENTRE, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTRE, 150); vertraging (1000); myGLCD.printNumI (1, CENTRE, 150); vertraging (1000); // Skryf die hoogste telling in die EEPROM as (telling> hoogste telling) {hoogste telling = telling; EEPROM.write (0, hoogste telling); } // Stel die veranderlikes terug om posisiewaardes te begin xP = 319; yB = 50; valkoers = 0; telling = 0; lastSpeedUpScore = 0; bewegende koers = 3; gameStarted = vals; // Herbegin spel initiateGame (); }
Stap 3: Klaar
Ons het die kring gemaak en die kode saamgestel. Nou moet ons net die Arduino mega aansluit en die speletjie speel.
Hier het ek 'n skakel na 'n video wat wys hoe hierdie speletjie werk en wat ek moet doen om dit op te stel:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Laat weet my as u probleme onder vind.
Aanbeveel:
Floppy Disk IR Camera Hack: 8 stappe (met foto's)
Floppy Disk IR Camera Hack: Die afgelope sewe jaar het ek 'n stukkende digitale kamera laat lê. Dit is nog steeds in staat om foto's te neem, maar dit is byna onmoontlik om te gebruik as gevolg van 'n gebreekte skerm. Die fundamentele probleem is dat die spyskaart soms per ongeluk u kry
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 stappe
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: Flappy Bird was in 'n paar jaar te gewild daar, en baie mense het dit op hul eie manier geskep, ek ook, ek het my weergawe van flappy bird geskep met Arduino en die goedkoop 2.4 " TFT Raakskerm SPFD5408, so laat ons begin
Slim stuurstelsel vir robotmotors wat stappermotor van Old Floppy/CD Drive gebruik: 8 stappe (met foto's)
Slim stuurstelsel vir robotmotors met behulp van stappermotor van Old Floppy/CD Drive: slim stuurstelsel vir robotmotors Is u bekommerd om 'n goeie stuurstelsel vir u robotmotor te maak? Hier is 'n uitstekende oplossing net deur u ou diskette/ CD/ DVD -aandrywers te gebruik. kyk daarna en kry 'n idee daarvan Besoek georgeraveen.blogspot.com
Apple II Floppy Hackintosh I7-7700 3.6Ghz: 7 stappe
Apple II Floppy Hackintosh I7-7700 3.6Ghz: Die eerste prentjie verwys na 'n ongerepte rit (met die oorspronklike Apple-logo van die reënboog), maar myne het 'n bietjie meer kilometers. Die tweede beeld is die binnekant, ek het vergeet om 'n foto te neem voordat ek dit uitmekaar haal, met vergunning van Goog
Amiga Arduino Floppy Drive Case/Behuizing: 5 stappe
Amiga Arduino Floppy Drive -omhulsel/omhulsel: hierdie instruksies verduidelik hoe u die diskettekas kan monteer vir die Arduino Amiga Floppy Disk Reader/Writer for Windows -projek. Om hierdie projek te voltooi, benodig u: 'n 3D -printer Die Arduino pro mini en FTDI breakout board beskryf op die punt