Talaan ng mga Nilalaman:

Bersyon ng Laro ng Arduino Space Race _1: 5 Mga Hakbang
Bersyon ng Laro ng Arduino Space Race _1: 5 Mga Hakbang

Video: Bersyon ng Laro ng Arduino Space Race _1: 5 Mga Hakbang

Video: Bersyon ng Laro ng Arduino Space Race _1: 5 Mga Hakbang
Video: How to make the Philippines Flag in Minecraft! 2024, Nobyembre
Anonim
Image
Image

Hoy mga kaibigan. Ngayon ay ipakita ko sa iyo kung paano ka makakagawa ng isang Space Race Game sa pamamagitan ng screen ng LCD5110 at joystic. Tingnan natin ang mga hakbang …

Hakbang 1: KAILANGAN

SKEMA
SKEMA

Narito ang isang listahan ng mga bahagi na ginamit ko upang gawin ang proyektong ito:

  • Arduino UNO
  • Module ng Joystick
  • Jumper Wires (lalaki hanggang lalaki at lalaki hanggang babae)
  • Breadboard

Hakbang 2: SKEMA

VCC -> Arduino 5V

BL -> Arduino pin 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pin 8

DIN (MOSI) -> Arduino pin 9

DC -> Arduino pin 10

CE o CS -> Arduino pin 12

RST (RESET) -> Arduino pin 11

Hakbang 3: CODE

KODE
KODE

Ang code ay may mga paliwanag ng mga pag-andar ng code. Madali mong mauunawaan ito. Kung mayroon kang problema, maaari kang makipag-ugnay sa akin.

# isama

LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)

int BL = 3;

extern uint8_t SmallFont ; // ilarawan ang mga font extern uint8_t MediumNumber ; extern uint8_t arac ; // ilarawan ang aming hugis extern uint8_t dusman_araci ; // desribe kaaway hugis const int xpin = A0; // joystick x pin char pozisyon = 2; // ilarawan ang lokasyon, simulan ang aming hugis lokasyon 2 boolean kontrol = totoo; boolean dusmanOldu = totoo; int skor = 0; int hiz = 0; int dusmanKonumu1; // ilarawan ang kaaway1 x lokasyon int dusmanKonumu2; // ilarawan ang kaaway2 x lokasyon int dusmaninYdeKonumu; // ilarawan ang mga kalaban y lokasyon

void dusmanAraci (int yer, int asama) {// magtakda ng mga lokasyon para sa mga hugis ng kaaway

kung (yer == 1) {// kung lokasyon = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // gumuhit ng hugis ng kaaway} kung (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } kung (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}

void oyunBitti () {// kung nabigo tayo, natapos ang laro

habang (1) {pagkaantala (100); // wait 1 milisecond lcd.clrScr (); // clear the screen lcd.setFont (SmallFont); // set font lcd.print ("GAME OVER", CENTER, 20); // print lcd.update (); // i-update ang screen}}

void setup () {pinMode (BL, OUTPUT); // set back light Output lcd. InitLCD (); // initilaze the lcd screen lcd.setContrast (55); // set contrad (amound 0 to 127) Serial.begin (9600); // start serial comunation}

void loop () {

analogWrite (BL, 200);

// set game screen lcd.drawRect (0, 0, 47, 47); // gumuhit kami ng rektanggulo lcd.setFont (SmallFont); // set font lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumber); // set font lcd.printNumI (skor, 59, 7); // get score lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // speed speed lcd.setFont (MediumNumber); lcd.printNumI (hiz, 59, 32); // get speed lcd.update (); // update

// itakda ang lokasyon ng joyistick int x = analogRead (xpin); kung (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 at ang control ay totoong pozisyon ++; // dagdagan ang lokasyon nangangahulugang ilipat ang hugis sa kanang kontrol = false; } iba pa kung (x> 300 && x <600) {kontrol = true; } Serial.println (x); // para sa pag-aaral x estado // itakda ang lokasyon ng aming hugis lcd.clrScr (); // clear the screen if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // iguhit ang aming barko kung (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}

kung (pozisyon == 3) {

lcd.drawBitmap (34, 37, arac, 12, 8);}

kung (dusmanOldu) {// kung ang hugis ng kaaway ay patay, suriin kung patay na ba sila

dusmanKonumu1 = pozisyon; // gumuhit ng unang hugis ng kaaway dusmanKonumu2 = random (0, 4); // gumuhit ng isa pang hugis ng kaaway saanman dusmaninYdeKonumu = 0; // magdala ng kaaway mula sa tuktok dusmanOldu = false;} // kaaway ay nilikha muli upang hindi sila patay dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // gumuhit ng unang hugis ng kaaway at makuha ito mula sa itaas hanggang sa ibaba dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // gumuhit ng pangalawang hugis ng kaaway at makuha ito mula sa itaas hanggang sa ibaba kung (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// kung ang aming hugis na hinawakan ng kaaway ay hugis oyunBitti ();} // ang laro ay tapos na kung (dusmaninYdeKonumu> 40) {// kung ang aming hugis ay makatakas mula sa mga kaaway dusmanOldu = totoo; // pumatay ng mga hugis ng kaaway skor ++;} // taasan isa-isa ang iskor // dagdagan ang bilis ayon sa iskor kung (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; pagkaantala (40); }}

Hakbang 4: CODE BITMAP

Bukod dito, kailangan mong isama ang bitmap graphic para sa mga hugis. Dapat itong isang.c file at parehong pangalan na may pangalan ng code. Gayundin, dapat na nasa parehong file ito.

// ----------------- ------------------------------ // File na nabuo ng LCD Assistant // https://en.radzio.dxp.pl / bitmap_converter / // -------------------------------------------- ---------------------------- # # isama // isama para sa pagpapaandar ng progmem

const unsigned char arac PROGMEM = {// bitmap ng aming hugis

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

const unsigned char dusman_araci PROGMEM = {// bitmap ng barko ng kaaway

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

Hakbang 5: SALAMAT SA PAGTINGNAN

SALAMAT SA PAGTINGNAN
SALAMAT SA PAGTINGNAN

Bago ko simulang ibahagi ang aking mga proyekto, naka-code ako sa mga salitang Turkish kaya't hindi ko sinasadya ang bawat salita sa ingles. Narito ang mga salitang salin na ginamit ko sa proyektong ito, Oyun = Laro

Arac = Hugis

Dusman = Kaaway

kontrol = control

Konum, Yer = Lokasyon

Oyun Bitti = Game Over

Skor = Iskor

Hiz = Bilis

Inirerekumendang: