Obsah:

Floppy Bird: 3 kroky
Floppy Bird: 3 kroky

Video: Floppy Bird: 3 kroky

Video: Floppy Bird: 3 kroky
Video: В КУПАЛЬНИКЕ ПО МОРОЗУ | Мобильный Передоз 2024, Červenec
Anonim
Floppy Bird
Floppy Bird
Floppy Bird
Floppy Bird

Dnes budeme dělat hru pomocí TFT LCD. Vypadalo by to jako hra, která je opravdu populární a stále ji hraje hodně lidí. Tato hra se jmenuje Flappy Bird, ale tato hra je trochu odlišná, protože uživatelské rozhraní se liší i způsobem, jakým hra funguje. Tuto hru jsem nazval Floppy Bird, protože by to mohlo vést k problémům s autorskými právy. Nicméně je to opravdu zábavná hra a její výroba je snadná. Udělal jsem tento instruktáž, který vám umožní dokončit hru tak, aby fungovala jako já. Pokud máte nějaké dotazy, napište je níže a já se pokusím na tyto otázky odpovědět co nejrychleji.

Zásoby

- Arduino Mega 2560 a kabel

- Mega štít Arduino

- Arduino TFT LCD kompatibilní s Arduino Mega 2560

- SD karta

Krok 1: Sestavení TFT LCD

Sestavení TFT LCD
Sestavení TFT LCD

Nyní můžeme začít sestavovat TFT LCD. Připojte TFT LCD ke štítu, takže nejprve vezměte TFT LCD a v zásadě jej zarovnejte s kolíky na štítu. Jakmile zarovnáte kolíky, zatlačte TFT LCD dolů, aby zapadl na místo. Když jsou všechny kolíkové hlavy ve štítu a nevidíte hlavičky kolíků, pak víte, že je TFT LCD správně připojen. Dále můžeme připojit štít k Arduino Mega 2560. Zarovnejte kolíky štítu na Arduino Mega a zapojte jej. Když jsou všechny hlavy pinů v Arduino Mega a vy nevidíte hlavy pinů, to je když víte, že je TFT LCD správně připojen a je připraven k zapnutí. Připojte Arduino, abyste zjistili, zda jste správně připojili LCD, pokud se LCD zapne a obrazovka je bílá, pak gratulujeme, úspěšně jste připojili TFT LCD a nyní je připraven k programování. Nakonec musíme udělat jednu věc, a to připojení karty SD k LCD. Na zadní straně TFT LCD je slot pro kartu SD, kam můžete jednoduše zasunout kartu SD. Proto stačí zapojit a je hotovo.

Krok 2: Programování TFT LCD

Programování TFT LCD
Programování TFT LCD

Nyní naprogramujeme LCD tak, aby spustilo hru a my ji mohli hrát. Níže je kód, který musíte zkompilovat a nahrát pomocí Arduino IDE.

Problémy, které můžete mít:

Změňte parametry TFT LCD podle modelu, který máte.

KOMPLETNÍ KÓD:

#include #include #include

// ==== Vytváření objektů

UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parametry by měly být přizpůsobeny vašemu modelu Display/Shield URTouch myTouch (6, 5, 4, 3, 2);

// ==== Definování písem

extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;

externí bez znaménka int bird01 [0x41A]; // Ptačí bitmapa

int x, y; // Proměnné pro souřadnice, kde bylo stisknuto zobrazení

// Floppy Bird

int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int skóre = 0; int lastSpeedUpScore = 0; int nejvyšší skóre; boolean screenPressed = false; boolean gameStarted = false;

neplatné nastavení () {

// Zahájit zobrazení myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); nejvyšší skóre = EEPROM.read (0); // Přečíst nejvyšší skóre z EEPROM initiateGame (); // Zahájení hry}

prázdná smyčka () {

xP = xP-movingRate; // xP - x souřadnice pilířů; rozsah: 319 - (-51) drawPilars (xP, yP); // Nakreslí pilíře // yB - y souřadnice ptáka, která závisí na hodnotě proměnné klesající rychlosti yB+= fallRateInt; fallRate = fallRate+0,4; // Každou inetrací se rychlost pádu zvyšuje, abychom mohli efekt akcelerace/ gravitace fallRateInt = int (fallRate); // Kontroluje kolizi, pokud (yB> = 180 || yB <= 0) {// horní a dolní část gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// horní pilíř gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// nižší pilíř gameOver (); } // Nakreslí ptáka drawBird (yB);

// Poté, co pilíř prošel obrazovkou

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) {// Nakreslí modrý obdélník vpravo od pilíře myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Nakreslí pilíř myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Nakreslí černý rám pilíře myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, 0, x, y); // Nakreslí modrý obdélník vlevo od pilíře myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);

// Spodní pilíř

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); } // Nakreslí skóre myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (skóre, 100, 220); }

// ====== drawBird () - vlastní funkce

void drawBird (int y) {// Nakreslí ptáka - bitmapa myGLCD.drawBitmap (50, y, 35, 30, bird01); // Nakreslí modré obdélníky nad a pod ptáka, aby vymazal jeho předchozí stav myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - vlastní funkce neplatná gameOver () {zpoždění (3000); // 1 sekunda // Vymaže obrazovku a vytiskne text myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print („GAME OVER“, CENTER, 40); myGLCD.print ("Skóre:", 100, 80); myGLCD.printNumI (skóre, 200, 80); myGLCD.print („Restartování…“, CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTER, 150); zpoždění (1000); myGLCD.printNumI (1, STŘED, 150); zpoždění (1000); // Zapíše nejvyšší skóre do EEPROM if (skóre> nejvyšší skóre) {nejvyšší skóre = skóre; EEPROM.write (0, nejvyšší skóre); } // Resetuje proměnné na počáteční hodnoty polohy xP = 319; yB = 50; fallRate = 0; skóre = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Restartujte hru initiateGame (); }

Krok 3: Hotovo

Hotovo!
Hotovo!

Vytvořili jsme obvod a zkompilovali kód. Nyní musíme zapojit mega Arduino a hrát hru.

Tady mám odkaz na video, které ukazuje, jak tato hra funguje a co dělat, aby bylo možné ji nastavit:

drive.google.com/file/d/18hKQ8v2w2OkM_std-…

Dejte mi vědět, pokud máte nějaké problémy níže.

Doporučuje: