Мазмұны:

Иілгіш құс: 3 қадам
Иілгіш құс: 3 қадам

Бейне: Иілгіш құс: 3 қадам

Бейне: Иілгіш құс: 3 қадам
Бейне: Wounded Birds - 3 бөлім - [Қазақша субтитрлер] Түрік драмасы | Yaralı Kuşlar 2019 2024, Қараша
Anonim
Иілгіш құс
Иілгіш құс
Иілгіш құс
Иілгіш құс

Бүгін біз TFT LCD көмегімен ойын жасаймыз. Бұл шынымен де танымал ойынға ұқсайды және көптеген адамдар бұл ойынды әлі де ойнайды. Ойын Flappy Bird деп аталады, бірақ бұл ойын біршама ерекшеленеді, себебі UI әр түрлі, сонымен қатар ойын әдісі. Мен бұл ойынды Floppy Bird деп атадым, себебі бұл авторлық құқық мәселелеріне әкелуі мүмкін. Дегенмен, бұл өте қызықты ойын және оны жасау оңай. Мен бұл нұсқаулықты жасадым, бұл сізге ойынды толығымен жасауға және оны мен сияқты жұмыс істеуге мүмкіндік береді. Егер сізде сұрақтар туындаса, төменде түсініктеме беріңіз, мен бұл сұрақтарға мүмкіндігінше тез жауап беруге тырысамын.

Жабдықтар

- Arduino Mega 2560 және кабель

- Arduino Mega Shield

- Arduino TFT LCD Arduino Mega 2560 үйлесімді

- SD картасы

1 -қадам: TFT СКД жинау

TFT СКД құрастыру
TFT СКД құрастыру

Енді біз TFT СКД құрастыруды бастай аламыз. Біз TFT LCD экранын қалқанға қосамыз, сондықтан алдымен TFT СКД алып, оны қалқандағы түйреуіштермен туралаңыз. Түйреуіштерді туралағаннан кейін, TFT СКД төмен қарай итеріңіз, ол орнына сәйкес келеді. Барлық түйреуіш бастары қалқанға қойылғанда және түйреуіш бастарын көре алмайтын кезде, TFT СКД дұрыс қосылғанын білесіз. Әрі қарай, біз қалқаны Arduino Mega 2560 -ке қосамыз. Ардуино Мега қалқанының түйреуіштерін туралаңыз және қосыңыз. Барлық түйреуіш бастары Arduino Mega -де болғанда және түйреуіш бастарын көре алмасаңыз, бұл TFT СКД дұрыс жалғанғанын және оны қосуға дайын екенін білсеңіз. СКД -ді дұрыс қосқаныңызды білу үшін Arduino -ны қосыңыз, егер СКД қосылып, экран ақ болса, құттықтаймыз, сіз TFT СК -ні сәтті жалғадыңыз, енді ол бағдарламалануға дайын. Ақырында, бізде бір нәрсе бар, ол - SD картасын СКД -ге қосу. TFT СКД артқы жағында SD картасының ұясы бар, оны жай ғана SD картасын қосуға болады. Сондықтан, оны жай ғана қосыңыз және ол аяқталды.

2 -қадам: TFT СКД бағдарламалау

TFT СКД бағдарламалау
TFT СКД бағдарламалау

Енді біз LCD -ді бағдарламалайтын боламыз, ол ойынды басқарады және біз оны ойнай аламыз. Төменде Arduino IDE көмегімен құрастыру және жүктеу қажет код бар.

Сізде болуы мүмкін проблемалар:

Сізде бар модельге сәйкес TFT СКД параметрлерін өзгертіңіз.

ТОЛЫҚ КОД:

#қосу #қосу #қосу

// ==== Объектілерді құру

UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Параметрлер сіздің Display/Shield үлгісіне сәйкес реттелуі тиіс URTouch myTouch (6, 5, 4, 3, 2);

// ==== Қаріптерді анықтау

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

extern unsigned int bird01 [0x41A]; // Құстардың нүктелік картасы

int x, y; // Дисплей басылған координаттар үшін айнымалылар

// Иілгіш құс

int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; float fallRate = 0; int балл = 0; int lastSpeedUpScore = 0; int highScore; логикалық экран Pressed = false; логикалық ойынStarted = жалған;

жарамсыз орнату () {

// myGLCD. InitLCD () дисплейін іске қосыңыз; myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); Ең жоғары рейтинг = EEPROM.read (0); // EEPROM inititeGame () бағдарламасынан ең жоғары балды оқыңыз; // Ойынды бастаңыз}

void loop () {

xP = xP-moveRate; // xP - x пиларлардың координаты; диапазон: 319 - (-51) drawPilars (xP, yP); // Құстардың // yB - y координаттарының тіректерін салады, ол құлағанRate айнымалысының мәніне байланысты yB+= fallRateInt; fallRate = fallRate+0,4; // Әрбір инетрацияда құлдырау жылдамдығы артады, осылайша біз үдеу/ гравитациялық әсерге қол жеткізе аламыз fallRateInt = int (fallRate); // Соқтығысуды тексереді, егер (yB> = 180 || yB <= 0) {// жоғарғы және төменгі gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// жоғарғы тірек gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// төменгі тірек gameOver (); } // DrawBird (yB) құсын салады;

// Бағана экран арқылы өткеннен кейін

егер (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) {// myGLCD.setColor (114, 198, 206) бағанының оң жағындағы көк төртбұрышты сызады; myGLCD.fillRect (x+51, 0, x+60, y); // myGLCD.setColor тірегін салады (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // myGLCD.setColor (0, 0, 0) тірегінің қара жақтауын салады; myGLCD.drawRect (x+50, 0, x, y); // myGLCD.setColor (114, 198, 206) бағананың сол жағындағы көк тіктөртбұрышты салады; myGLCD.fillRect (x-1, 0, x-3, y);

// Төменгі тірек

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); } // myGLCD.setColor (0, 0, 0) ұпайын шығарады; myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (балл, 100, 220); }

// ====== drawBird () - реттелетін функция

void drawBird (int y) {// Құсты салады - myGLCD.drawBitmap нүктелік картасы (50, y, 35, 30, bird01); // myGLCD.setColor (114, 198, 206) жай -күйін тазарту үшін құстың үстінен және астынан көк төртбұрыштар салады; myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - Custom Function void gameOver () {delay (3000); // 1 секунд // Экранды тазартады және myGLCD.clrScr () мәтінін басып шығарады; myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print («GAME OVER», ОРТАЛЫҚ, 40); myGLCD.print («Ұпай:», 100, 80); myGLCD.printNumI (балл, 200, 80); myGLCD.print («Қайта бастау …», ОРТА, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, ОРТА, 150); кешіктіру (1000); myGLCD.printNumI (1, ОРТА, 150); кешіктіру (1000); // EEPROM -да ең жоғары баллды жазады, егер (балл> ең жоғары ұпай) {ең жоғары балл = балл; EEPROM.write (0, ең жоғары рейтинг); } // айнымалыларды xP = 319 позиция мәндерінің бастапқы мәніне қайтарады; yB = 50; fallRate = 0; балл = 0; lastSpeedUpScore = 0; moveRate = 3; gameStarted = жалған; // inititeGame ойынын қайта іске қосыңыз (); }

3 -қадам: Орындалды

Орындалды!
Орындалды!

Біз схеманы жасап, кодты құрастырдық. Енді бізге Arduino мегасын қосып, ойын ойнау керек.

Мұнда менде бұл ойынның қалай жұмыс істейтіні және оны орнату үшін не істеу керектігі көрсетілген бейне сілтемесі бар:

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

Төменде сізде қандай да бір проблемалар болса, маған хабарлаңыз.

Ұсынылған: