Բովանդակություն:

Space Race Game Տարբերակ 2: 5 քայլ
Space Race Game Տարբերակ 2: 5 քայլ

Video: Space Race Game Տարբերակ 2: 5 քայլ

Video: Space Race Game Տարբերակ 2: 5 քայլ
Video: Neel 51 Trimaran Atlantic Crossing, ARC Regatta - Ep.2/5 2024, Հուլիսի
Anonim
Image
Image

Բարեւ բոլորին. Մինչ այս խաղի տարբերակը, ı- ը հրապարակեց խաղի առաջին տարբերակը: Այսօր ı -ը ձեզ ցույց կտա Space Race Game տարբերակը 2. Եկեք նայենք քայլերին…

Քայլ 1: ՄԱՍՆԵՐ

Սխեմա
Սխեմա

Ահա այն մասերի ցանկը, որոնք ես օգտագործել եմ այս նախագիծը պատրաստելու համար.

  • Arduino UNO
  • Joystick մոդուլ
  • Jumper Wires (արականից արական և արականից իգական)
  • Breadboard

Քայլ 2: SCHEMA

VCC -> Arduino 5V

BL -> Arduino քորոց 3

GND -> Arduino GND

CLK (SCLK) -> Arduino փին 8

DIN (MOSI) -> Arduino փին 9

DC -> Arduino քորոց 10

CE կամ CS -> Arduino քորոց 12

RST (RESET) -> Arduino քորոց 11

Քայլ 3: ԿՈԴ

ԿՈԴ
ԿՈԴ

Կոդն ունի ծածկագրի գործառույթների բացատրություններ: Դուք հեշտությամբ կհասկանաք դա: Եթե խնդիր ունեք, կարող եք կապվել ինձ հետ:

#ներառում

LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)

բուլյան վերահսկում = ճշմարիտ;

բուլյան դուսմանոլդու = ճշմարիտ;

extern uint8_t SmallFont ; // նկարագրել տառատեսակները

արտաքին uint8_t Միջին համարներ ; extern uint8_t arac ; // նկարագրել մեր ձևը extern uint8_t dusmanAraci ; // նկարագրել թշնամու ձևը const int xpin = A0; // joystick x pin char pozisyon = 3; // նկարագրել վայրը, մեր ձևի մեկնարկի վայրը 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // նկարագրել հակառակորդին 1 x գտնվելու վայրը dusmankonum2; // նկարագրել հակառակորդին 2 x տեղադրություն int dusmankonum3; // նկարագրել հակառակորդին 3 x գտնվելու վայրը dusmankonum4; // նկարագրել հակառակորդին 4 x տեղադրություն int dusmankonum5; // նկարագրել թշնամուն 5 x գտնվելու վայրը dusmaninYdekonumu;

void oyunEkrani () {// սահմանել խաղի էկրանը

lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // մենք նկարում ենք ուղղանկյուն lcd.setFont (SmallFont); // սահմանել տառատեսակ lcd.print ("skor", 57, 1); // տպել հաշիվ lcd.print («hiz», 60, 24); // տպման արագություն lcd.setFont (MediumNumbers); // սահմանել տառատեսակը lcd.printNumI (skor, 55, 8); // ստանալ միավոր lcd.printNumI (hiz, 63, 32); // ստանալ արագություն lcd.update (); }

void dusmanAracidurum (int yer, int asama) {// թշնամու ձևերի տեղադրման վայրեր

եթե (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1 draw հակառակորդը ձևավորում է այս վայրը, եթե (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } if (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 6) {lcd.drawBitmap (42, asama, dusmanAraci, 7, 7); lcd.update ();}}

void oyunbitti () {// եթե ձախողենք, խաղը կավարտվի

իսկ (1) {հետաձգում (100); // սպասել 1 միլիարդ վայրկյան lcd.clrScr (); lcd.setFont (SmallFont); lcd.print («OYUN BITTI», ԿԵՆՏՐՈՆ, 8); // խաղ տպել lcd.print- ով ("skorunuz =", 3, 30); // տպեք ձեր հաշիվը lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // ստանալ վերջին միավորը lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // հետադարձ լույս Արտադրության pinMode (xpin, INPUT); // սահմանել x pin- ը որպես մուտքային lcd. InitLCD (); // նախաստորագրել lcd էկրանը lcd.setContrast (55); // սահմանել հակադրություն (ամուն 0 -ից մինչև 127 -ը) Serial.begin (9600); // սկսել սերիական հաղորդակցություն}

դատարկ շրջան () {

analogWrite (BL, 350); oyunEkrani ();

// joyistic durumu… // սահմանել joyistick- ի գտնվելու վայրը…

int durumx = analogRead (xpin); եթե (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x վիճակ> 600 և վերահսկողությունը ճշմարիտ է pozisyon ++; // բարձրացնել տեղադրությունը նշանակում է ձևը տեղափոխել աջ kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // դիրքի վիճակ… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // նկարեք մեր նավը, եթե (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}

եթե (dusmanoldu) {// եթե թշնամու ձևը մեռած է, ստուգեք, արդյոք նրանք մահացած են

dusmankonum1 = դրական; // նկարել առաջին թշնամու ձևը dusmankonum2 = պատահական (0, 6); // ուրվագծել մեկ այլ թշնամու ձև ինչ -որ տեղ dusmankonum3 = պատահական (0, 6); dusmankonum4 = պատահական (0, 6); dusmankonum5 = պատահական (0, 6); dusmaninYdekonumu = 0; // բերեք թշնամուն վերևից dusmanoldu = false;} // թշնամին վերստեղծվում է, որպեսզի նրանք մահացած չլինեն

dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // նկարեք առաջին թշնամու ձևը և ստացեք այն վերևից ներքև

dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // նկարել թշնամու երկրորդ ձևը և ստանալ այն վերևից ներքև dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; եթե (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon)))) {// եթե մեր ձևը դիպչում է թշնամու oyunbitti ձևերին (); // խաղն ավարտված է}

եթե (dusmaninYdekonumu> 42) {// եթե մեր ձևը փախչի թշնամիներից

դուսմանոլդու = ճշմարիտ; // սպանել թշնամու ձևերը skor ++; // մեկ առ մեկ ավելացրեք հաշիվը}

// skora gore hizi artiriyoruz // բարձրացնել արագությունը ըստ միավորի

եթե (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; ուշացում (5); }

}

Քայլ 4. ԿՈԴԻՐ BITMAP

Ավելին, դուք պետք է ներառեք bitmap գրաֆիկա ձևերի համար: Այն պետք է լինի.c ֆայլ:

#ներառել // ներառել ծրագրավորման գործառույթի համար

const unsigned char arac PROGMEM = {// մեր ձևի bitmap

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

const unsigned char dusmanAraci PROGMEM = {// թշնամու նավի bitmap

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

Քայլ 5: Շնորհակալություն դիտման համար

Որոշ բառերի իմաստը.

Oyun => Խաղ

Arac => Ձև

Դուսման => Թշնամի

kontrol => վերահսկողություն

Կոնում, Եր => Որտեղից

Խաղ Bitti => Խաղն ավարտված է

Skor => Հաշիվ

Hiz => Արագություն

Խորհուրդ ենք տալիս: