Talaan ng mga Nilalaman:
- Hakbang 1: KAILANGAN
- Hakbang 2: SKEMA
- Hakbang 3: CODE
- Hakbang 4: CODE BITMAP
- Hakbang 5: SALAMAT SA PAGTINGNAN
Video: Bersyon ng Laro ng Arduino Space Race _1: 5 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
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
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
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
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:
Space Race Game Bersyon 2: 5 Mga Hakbang
Space Race Game Bersyon 2: Hoy lahat. Bago ang bersyon ng laro na ito, nag-publish ng unang bersyon ng laro. Ngayon, ipapakita sa iyo ang bersyon ng Space Race Game 2. Tingnan natin ang mga hakbang
Paano Mag-upload ng Mga Laro sa Arduboy at 500 Mga Laro sa Flash-cart: 8 Hakbang
Paano Mag-upload ng Mga Laro sa Arduboy at 500 Mga Laro sa Flash-cart: Gumawa ako ng ilang gawang-bahay na Arduboy na may memorya ng Serial Flash na maaaring mag-imbak ng max 500 na laro upang maglaro sa kalsada. Inaasahan kong ibahagi kung paano mag-load ng mga laro dito, kasama ang kung paano mag-imbak ng mga laro sa serial flash memory at lumikha ng iyong sariling pinagsama-samang package ng laro
Version Bersyon ng Bersyon II (mas Matatag at Tumpak): 6 na Hakbang
Version Bersyon ng Bersyon II (mas Matatag at Tumpak): https://www.instructables.com/id/Beta-Meter/ Ang bersyon na I β metro ay tahimik na tumpak ngunit ang kasalukuyang mapagkukunan ay hindi pare-pareho sa input boltahe (Vcc). Bersyon II β metro ay medyo matatag ie., Ang kasalukuyang halaga ay hindi nagbabago ng marami sa pagbabago sa i
Laro ng Mabilis na Reaksyon: Bersyon ng Distansya: 5 Mga Hakbang (na may Mga Larawan)
Laro ng Mabilis na Reaksyon: Bersyon ng Distansya: Kumusta. Ito ay isang Maituturo sa kung paano lumikha ng isang laro na sumusubok sa parehong oras ng iyong reaksyon at pakiramdam ng distansya. Ang proyektong ito ay batay sa isang lumang proyekto na ginawa ko na kinasasangkutan ng dalawang manlalaro na nakikipagkumpitensya upang makita kung sino ang may mas mabilis na oras ng reaksyon sa pamamagitan ng pag-click sa isang pindutan
Paano Suriin Kung Tumatakbo ang isang Laro sa Iyong Computer Bago ka Bumili ng Laro .: 4 Mga Hakbang
Paano Suriin Kung Tumatakbo ang Isang Laro sa Iyong Computer Bago ka Bumili ng Laro .: Kamakailan-lamang na nakuha ko ang Tawag ng Tanghalan 4 mula sa isang kaibigan (nang libre ay maaari kong idagdag) dahil hindi tatakbo sa kanyang computer. Sa gayon, ang kanyang computer ay medyo bago, at ikinagulat ako nito kung bakit hindi ito tatakbo. Kaya pagkatapos ng ilang oras na paghahanap ng internet, napag-alaman ko