Obsah:
Video: Floppy Bird: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
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
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
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
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:
Animatronic Bird Creature: 3 kroky
Animatronic Bird Creature: Vítejte! Dnes vám ukážu, jak oživit jednoduchého kostlivce, kterého jsem našel v dolarovém obchodě. S těmito znalostmi si je budete moci přizpůsobit a proměnit se v mimozemské ptačí stvoření. Nejprve budete potřebovat kostru
Animatronic Bird: 3 kroky
Animatronic Bird: Tato Animatonic byla původně projektem TSA (Technology Student Association). Museli jsme udělat animatroniku a vysvětlit, jak to funguje, ukázat řídicí elektroniku
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 kroky
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: Flappy Bird byla za pár let příliš populární hra a mnoho lidí ji vytvořilo svým vlastním způsobem, stejně jako já, vytvořil jsem svoji verzi flappy bird s Arduino a levným 2,4 " TFT Dotykový displej SPFD5408, pojďme tedy začít
Hra Arduino Flappy Bird s kroky 2,4: 3
Hra Arduino Flappy Bird s 2.4: Ahoj, v tomto návodu se naučíme, jak vytvořit a spustit hru flappy bird s arduino uno na 2,4 " tft touchscreen. Protože flappy bird je velmi populární hra, tak jsem si řekl, že bych měl vyzkoušet svoji verzi flappy bird, takže budeme hrát flappy bir
Floppy Powered PCI Slot Case Fan: 4 kroky
Floppy Powered PCI Slot Case Fan: Přestože je disketa téměř zaniklá, mnoho napájecích zdrojů má stále konektory pro napájení z diskety. Nevíte si rady, co s nimi? Využijte je k ochlazení své věže hacknutím ventilátoru do slotu PCI