Orodha ya maudhui:

Floppy Ndege: 3 Hatua
Floppy Ndege: 3 Hatua

Video: Floppy Ndege: 3 Hatua

Video: Floppy Ndege: 3 Hatua
Video: И ЭТО ТОЖЕ ДАГЕСТАН? Приключения в долине реки Баараор. БОЛЬШОЙ ВЫПУСК (Путешествие по Дагестану #3) 2024, Julai
Anonim
Floppy Ndege
Floppy Ndege
Floppy Ndege
Floppy Ndege

Leo tutafanya mchezo kwa kutumia TFT LCD. Hii ingeonekana kama mchezo ambao ni maarufu sana na watu wengi bado wanacheza mchezo huu. Mchezo unaitwa Flappy Bird lakini mchezo huu ni tofauti kidogo kwa sababu UI ni tofauti na vile vile mchezo hufanya kazi. Niliuita mchezo huu Floppy Bird kwani hii inaweza kusababisha maswala ya hakimiliki. Walakini ni mchezo wa kufurahisha sana na ni rahisi kuufanya. Nimefanya kufundisha hii ambayo itakuruhusu kuufanya mchezo uweze kabisa na kuifanya ifanye kazi kama nilivyofanya. Ikiwa una maswali yoyote basi tafadhali toa maoni hapa chini na nitajaribu kujibu maswali haya haraka iwezekanavyo.

Vifaa

- Arduino Mega 2560 na kebo

- Arduino Mega Shield

- Arduino TFT LCD Sambamba na Arduino Mega 2560

- Kadi ya SD

Hatua ya 1: Kukusanya LCD ya TFT

Kukusanya LCD ya TFT
Kukusanya LCD ya TFT

Sasa, tunaweza kuanza kukusanyika TFT LCD. Tutaunganisha LCD ya TFT kwenye ngao, kwa hivyo kwanza chukua TFT LCD na uipatanishe na pini kwenye ngao. Mara tu ikiwa umepangilia pini, bonyeza TFT LCD chini ili iwe sawa. Wakati vichwa vyote vya pini viko kwenye ngao na hauwezi kuona vichwa vya pini, hapo ndipo unajua kuwa LCD ya TFT imeunganishwa vizuri. Ifuatayo, tunaweza kuziba ngao kwa Arduino Mega 2560. Panga pini za ngao kwenye Arduino Mega na uzie. Wakati vichwa vyote vya pini viko katika Arduino Mega na hauwezi kuona vichwa vya pini, hiyo ni wakati unajua kuwa LCD ya TFT imeunganishwa vizuri na iko tayari kuwezeshwa. Chomeka Arduino ili uone ikiwa umeunganisha LCD vizuri, ikiwa LCD inawashwa na skrini ni nyeupe basi hongera, umefanikiwa kuunganisha LCD ya TFT na sasa iko tayari kusanidiwa. Mwishowe, tuna jambo moja la kufanya, ambayo ni kuunganisha kadi ya SD kwenye LCD. Nyuma ya LCD ya TFT kuna nafasi ya kadi ya SD ambapo unaweza kuziba tu kadi ya SD. Kwa hivyo, ingiza tu na imekamilika.

Hatua ya 2: Kupanga LCD ya TFT

Kupanga LCD ya TFT
Kupanga LCD ya TFT

Sasa, tutapanga LCD ili iendeshe mchezo na tunaweza kuicheza. Chini ni nambari ambayo unapaswa kukusanya na kupakia ukitumia Arduino IDE.

Shida ambazo unaweza kuwa nazo:

Badilisha vigezo vya TFT LCD kulingana na mfano ulio nao.

KAMODI KAMILI:

#jumlisha #jumlisha # pamoja

// ==== Kuunda vitu

UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Vigezo vinapaswa kubadilishwa kwa mfano wako wa Onyesha / Shield URTouch myTouch (6, 5, 4, 3, 2);

// ==== Kufafanua Fonti

nje uint8_t SmallFont ; nje uint8_t BigFont ; nje uint8_t SevenSegNumFont ;

ndege isiyosajiliwa nje ya ndege01 [0x41A]; // Ndege Bitmap

int x, y; // Vigezo vya kuratibu ambapo onyesho limebanwa

// Ndege ya Floppy

int xP = 319; int yP = 100; int yB = 50; Kiwango cha kusonga = 3; int fallRateInt = 0; kuelea fallRate = 0; alama ya 0 = 0; int mwishoSpeedUpScore = 0; int highestScore; Screen ya booleanPressed = uongo; mchezo wa booleanStart = uongo;

usanidi batili () {

// Anzisha onyesha myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); juuScore = soma EEPROM (0); // Soma alama ya juu zaidi kutoka kwa mchezo wa kuanzisha wa EEPROM (); // Anzisha mchezo}

kitanzi batili () {

xP = xP-kusongaRate; // xP - x uratibu wa marubani; anuwai: 319 - (-51) choraPilars (xP, yP); // Huchora nguzo // yB - y kuratibu ndege ambayo inategemea thamani ya kutofautisha kwa kiwango cha yB + = fallRateInt; kushuka kwa kiwango = fallRate + 0.4; // Kila upenyezaji kiwango cha kushuka huongezeka ili tuweze athari ya kuongeza kasi / mvuto fallRateInt = int (fallRate); // Inakagua mgongano ikiwa (yB> = 180 || yB <= 0) {// mchezo wa juu na wa chiniOver (); } ikiwa ((xP = 5) && (yB <= yP-2)) {// mchezo wa nguzo ya juu Zaidi (); } ikiwa ((xP = 5) && (yB> = yP + 60)) {// mchezo wa nguzo ya chini Zaidi (); } // Huchora ndege ya kuteka ndege (yB);

// Baada ya nguzo kupita kwenye skrini

ikiwa (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); } mwingine ikiwa (x <= 268) {// Inachora mstatili wa bluu kulia kwa nguzo myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, 0, x + 60, y); // Inachora nguzo myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, 1, x + 1, y-1); // Inachora sura nyeusi ya nguzo myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, 0, x, y); // Inachora mstatili wa bluu kushoto ya nguzo myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);

// Nguzo ya chini

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); } // Huchota alama myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (alama, 100, 220); }

// ====== drawBird () - Kazi ya Desturi

batili drawBird (int y) {// Inachora ndege - bitmap myGLCD.drawBitmap (50, y, 35, 30, bird01); // Inachora mstatili wa bluu hapo juu na chini ya ndege ili kuondoa hali yake ya previus myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y + 30, 85, y + 36); } // ======== gameOver () - Kazi ya kawaida ya Utupu mchezoOver () {kuchelewesha (3000); // sekunde 1 // Inasafisha skrini na kuchapisha maandishi myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); alama ya myGLCD. ("MCHEZO JUU", KITUO, 40); alama ya myGLCD. ("Alama:", 100, 80); myGLCD.printNumI (alama, 200, 80); alama ya myGLCD. ("Kuanzisha upya…", KITUO, 120); myGLCD.setFont (SabaSegNumFont); myGLCD.printNumI (2, KITUO, 150); kuchelewesha (1000); myGLCD.printNumI (1, KITUO, 150); kuchelewesha (1000); // Anaandika alama ya juu kabisa kwenye EEPROM ikiwa (alama> alama ya juu kabisa) {maximumScore = alama; Andika (0, ya juuScore); } // Rudisha vigezo kuanza maadili ya nafasi xP = 319; yB = 50; Kiwango cha kuanguka = 0; alama = 0; mwishoSpeedUpScore = 0; kusongaKiwango = 3; mchezo ulianza = uwongo; // Anzisha tena Anzisha mchezo (); }

Hatua ya 3: Imekamilika

Imekamilika!
Imekamilika!

Tumefanya mzunguko na kukusanya nambari. Sasa, tunapaswa tu kuziba mega ya Arduino na kucheza mchezo.

Hapa, nina kiunga cha video inayoonyesha jinsi mchezo huu unavyofanya kazi na nini cha kufanya ili kuiweka:

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

Napenda kujua ikiwa una shida hapa chini.

Ilipendekeza: