Talaan ng mga Nilalaman:
Video: Floppy Bird: 3 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ngayon ay gumagawa kami ng isang laro gamit ang isang TFT LCD. Ito ay magiging hitsura ng isang laro na talagang tanyag at maraming mga tao pa rin ang naglaro sa larong ito. Ang laro ay tinawag na Flappy Bird ngunit ang larong ito ay medyo magkakaiba dahil ang UI ay naiiba pati na rin ang paraan ng paggana ng laro. Tinawag ko ang larong ito na Floppy Bird dahil maaaring humantong ito sa mga isyu sa copyright. Gayunpaman ito ay isang talagang masaya laro at madaling gawin. Ginawa kong turuan ito na magbibigay-daan sa iyo upang ganap na gawin ang laro at gawin itong gumana tulad ng ginawa ko. Kung mayroon kang anumang mga katanungan kung gayon mangyaring magbigay ng puna sa ibaba at susubukan kong sagutin ang mga katanungang ito nang mas mabilis hangga't maaari.
Mga gamit
- Arduino Mega 2560 at cable
- Arduino Mega Shield
- Arduino TFT LCD Compatible sa Arduino Mega 2560
- SD Card
Hakbang 1: Pag-iipon ng TFT LCD
Ngayon, maaari naming simulan upang tipunin ang TFT LCD. Ikonekta namin ang TFT LCD sa kalasag, kaya unang gawin ang TFT LCD at karaniwang ihanay ito sa mga pin sa kalasag. Kapag naayos mo na ang mga pin, itulak ang TFT LCD pababa upang magkasya ito sa lugar. Kapag ang lahat ng mga pin ulo ay nasa kalasag at hindi mo makita ang mga pin na ulo, doon mo malalaman na ang TFT LCD ay konektado nang maayos. Susunod, maaari naming mai-plug in ang kalasag sa Arduino Mega 2560. I-align ang mga pin ng kalasag sa Arduino Mega at i-plug ito. Kapag ang lahat ng mga pin ng ulo ay nasa Arduino Mega at hindi mo makita ang mga pin na ulo, iyon ang kapag nalaman mo na ang TFT LCD ay konektado nang maayos at handa na itong mapatakbo. I-plug ang Arduino upang makita kung konektado mo nang maayos ang LCD, kung ang LCD ay nakabukas at ang screen ay puti pagkatapos ay binabati kita, matagumpay mong nakakonekta ang TFT LCD at handa na itong i-program. Panghuli, mayroon kaming isang bagay na dapat gawin, na kung saan ay upang ikonekta ang SD card sa LCD. Sa likuran ng TFT LCD mayroong isang puwang ng SD card kung saan maaari mo lamang mai-plug in ang SD card. Samakatuwid, i-plug lamang ito at tapos na.
Hakbang 2: Programming ang TFT LCD
Ngayon, ipaprogram namin ang LCD upang mapatakbo nito ang laro at maaari namin itong i-play. Nasa ibaba ang code na kailangan mong isulat at i-upload gamit ang Arduino IDE.
Mga problema na maaaring mayroon ka:
Baguhin ang mga parameter ng TFT LCD ayon sa modelo na mayroon ka.
KUMPLETO CODE:
# isama ang # isama ang # isama
// ==== Lumilikha ng Mga Bagay
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Parameter dapat ayusin sa iyong modelo ng Display / Shield URTouch myTouch (6, 5, 4, 3, 2);
// ==== Pagtukoy sa Mga Font
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
extern unsigned int bird01 [0x41A]; // Bird Bitmap
int x, y; // Mga variable para sa mga coordinate kung saan pinindot ang display
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int iskor = 0; int lastSpeedUpScore = 0; int pinakamataas naScore; boolean screenPressed = false; boolean gameStarted = false;
walang bisa ang pag-setup () {
// Initiate display myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); pinakamataas naScore = EEPROM.read (0); // Basahin ang pinakamataas na iskor mula sa EEPROM initiateGame (); // Initiate the game}
void loop () {
xP = xP-gumagalawRate; // xP - x coordinate ng pilars; saklaw: 319 - (-51) drawPilars (xP, yP); // Gumuhit ang mga haligi // yB - y coordinate ng ibon na nakasalalay sa halaga ng fallRate variable na yB + = fallRateInt; fallRate = fallRate + 0.4; // Ang bawat pagpasok ng pagtaas ng rate ng pagkahulog upang maaari naming ang epekto ng pagpapabilis / gravity fallRateInt = int (fallRate); // Checks for collision if (yB> = 180 || yB <= 0) {// top and bottom gameOver (); } kung ((xP = 5) && (yB <= yP-2)) {// itaas na haligi ng laroOver (); } kung ((xP = 5) && (yB> = yP + 60)) {// lower game gameOver (); } // Nakaguhit ang bird drawBird (yB);
// Matapos ang poste ay dumaan sa screen
kung (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); } iba pa kung (x <= 268) {// Nakaguhit ng asul na rektanggulo sa kanan ng haligi na myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, 0, x + 60, y); // Ginaguhit ang haligi myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, 1, x + 1, y-1); // Gumuhit ang itim na frame ng haligi myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, 0, x, y); // Gumuhit ang asul na rektanggulo na kaliwa ng haligi myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// Ang ilalim na haligi
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); } // Nakaguhit ang marka ng myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (iskor, 100, 220); }
// ==== drawBird () - Pasadyang Pag-andar
void drawBird (int y) {// Nakaguhit ang ibon - bitmap myGLCD.drawBitmap (50, y, 35, 30, bird01); // Nakaguhit ng mga asul na parihaba sa itaas at ibaba ng ibon upang malinis ang estado ng previus na myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y + 30, 85, y + 36); } // ==== gameOver () - Pasadyang Pag-andar na walang bisa na gameOver () {pagkaantala (3000); // 1 segundo // Nilinaw ang screen at na-print ang teksto na myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTER, 40); myGLCD.print ("Iskor:", 100, 80); myGLCD.printNumI (iskor, 200, 80); myGLCD.print ("Restarting…", CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTER, 150); pagkaantala (1000); myGLCD.printNumI (1, CENTER, 150); pagkaantala (1000); // Nagsusulat ng pinakamataas na iskor sa EEPROM kung (iskor> pinakamataas naScore) {pinakamataas na rating = iskor; EEPROM.write (0, pinakamataas naScore); } // I-reset ang mga variable upang simulan ang mga halaga ng posisyon xP = 319; yB = 50; fallRate = 0; puntos = 0; lastSpeedUpScore = 0; gumagalawRate = 3; gameStarted = false; // Restart game initiateGame (); }
Hakbang 3: Tapos Na
Ginawa namin ang circuit at naipon ang code. Ngayon, kailangan lang namin i-plug sa Arduino mega at i-play ang laro.
Narito, mayroon akong isang link sa isang video na nagpapakita kung paano gumagana ang larong ito at kung ano ang gagawin upang mai-set up ito:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Ipaalam sa akin kung mayroon kang anumang mga problema sa ibaba.
Inirerekumendang:
Floppy Disk IR Camera Hack: 8 Hakbang (na may Mga Larawan)
Floppy Disk IR Camera Hack: Sa nakaraang pitong taon, nagkaroon ako ng sirang digital camera na nakahiga. Nagagawa pa rin nitong kumuha ng litrato, ngunit halos imposibleng gamitin sa account ng isang sirang screen. Ang pangunahing problema ay kung minsan ang menu ay hindi sinasadyang makakakuha ng tu
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 Mga Hakbang
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: Ang Flappy Bird ay napakapopular na laro pabalik doon sa ilang taon at maraming tao ang lumikha nito sa kanilang sariling paraan kaya ginawa ko, nilikha ko ang aking bersyon ng flappy bird kasama si Arduino at ang murang 2.4 " TFT Touchscreen SPFD5408, Kaya't magsimula tayo
Smart Steering System para sa Mga Kotse ng Robot Gamit ang Stepper Motor ng Old Floppy / CD Drive: 8 Hakbang (na may Mga Larawan)
Smart Steering System para sa Mga Kotse ng Robot Gamit ang Stepper Motor ng Old Floppy / CD Drive: Smart steering system para sa mga robotic car Nag-aalala ka bang gumawa ng isang mahusay na sistema ng pagpipiloto para sa iyong robot na kotse? Narito ang isang napakahusay na solusyon sa paggamit lamang ng iyong lumang floppy / CD / DVD drive. panoorin ito at makakuha ng isang ideya ng itoVisitahin ang georgeraveen.blogspot.com
Apple II Floppy Hackintosh I7-7700 3.6Ghz: 7 Hakbang
Apple II Floppy Hackintosh I7-7700 3.6Ghz: Ang unang imaheng ito ay upang mabigyan ka ng sanggunian sa isang malinis na drive (na may orihinal na logo ng bahaghari ng Apple), ang minahan ay may kaunting mileage dito. Ang pangalawang imahe ay ang panloob, nakalimutan kong kumuha ng litrato bago ko ito nawasak, sa kabutihang loob ng Goog
Amiga Arduino Floppy Drive Case / Enclosure: 5 Hakbang
Amiga Arduino Floppy Drive Case / Enclosure: Ipinapaliwanag nito kung paano tipunin ang floppy drive case para sa proyekto ng Arduino Amiga Floppy Disk Reader / Writer for Windows. Upang makumpleto ang proyektong ito kakailanganin mo: Isang 3D printer Ang Arduino pro mini at FTDI breakout board ay inilarawan nasa abo