Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
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 …
Hakbang 1: BAHAGI
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, cin, dc,, rst, ce)
boolean kontrol = totoo;
boolean dusmanoldu = totoo;
extern uint8_t SmallFont ; // ilarawan ang mga font
extern uint8_t MediumNumber ; extern uint8_t arac ; // ilarawan ang aming hugis extern uint8_t dusmanAraci ; // desribe kaaway hugis const int xpin = A0; // joystick x pin char pozisyon = 3; // ilarawan ang lokasyon, simulan ang aming hugis lokasyon 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // ilarawan ang kaaway1 x lokasyon int dusmankonum2; // ilarawan ang kaaway2 x lokasyon int dusmankonum3; // ilarawan ang kaaway3 x lokasyon int dusmankonum4; // ilarawan ang kaaway4 x lokasyon int dusmankonum5; // ilarawan ang kaaway5 x lokasyon int dusmaninYdekonumu;
void oyunEkrani () {// set game screen
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // gumuhit kami ng rektanggulo lcd.setFont (SmallFont); // set font lcd.print ("skor", 57, 1); // print score lcd.print ("hiz", 60, 24); // speed speed lcd.setFont (MediumNumber); // set font lcd.printNumI (skor, 55, 8); // get score lcd.printNumI (hiz, 63, 32); // get speed lcd.update (); }
void dusmanAracidurum (int yer, int asama) {// magtakda ng mga lokasyon para sa mga hugis ng kaaway
kung (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // kung lokasyon = 1 iguhit ng kaaway ang lokasyong ito kung (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} kung (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } kung (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} kung (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} kung (yer == 6) {lcd.drawBitmap (42, asama, dusmanAraci, 7, 7); lcd.update ();}}
void oyunbitti () {// kung nabigo tayo, natapos ang laro
habang (1) {pagkaantala (100); // wait 1 milisecond lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTER, 8); // print game over lcd.print ("skorunuz =", 3, 30); // print your score lcd.setFont (MediumNumber); lcd.printNumI (skor, 60, 25); // get last score lcd.update (); }}
walang bisa ang pag-setup () {
pinMode (BL, OUTPUT); // set back light Output pinMode (xpin, INPUT); // set x pin bilang isang input 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, 350); oyunEkrani ();
// joyistic durumu … // itakda ang lokasyon ng joyistick …
int durumx = analogRead (xpin); kung (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && 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 (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // posisyon ng estado… kung (pozisyon == 1) {// kung lokasyon = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // iguhit ang aming barko kung (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} kung (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} kung (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} kung (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} kung (pozisyon == 6) {lcd.drawBitmap (42, 41, arac, 7, 7); lcd.update ();}
kung (dusmanoldu) {// kung ang hugis ng kaaway ay patay, suriin kung patay na ba sila
dusmankonum1 = pozisyon; // gumuhit ng unang hugis ng kaaway dusmankonum2 = random (0, 6); // gumuhit ng isa pang hugis ng kaaway sa kung saan dusmankonum3 = random (0, 6); dusmankonum4 = random (0, 6); dusmankonum5 = random (0, 6); dusmaninYdekonumu = 0; // magdala ng kaaway mula sa tuktok dusmanoldu = false;} // kaaway ay nilikha muli upang hindi sila patay
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // gumuhit ng unang hugis ng kaaway at makuha ito mula sa itaas hanggang sa ibaba
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // gumuhit ng pangalawang hugis ng kaaway at makuha ito mula sa itaas hanggang sa ibaba dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; kung (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// kung ang aming hugis na hinawakan ng kaaway ay hugis oyunbitti (); //tapos na ang laro }
kung (dusmaninYdekonumu> 42) {// kung ang aming hugis ay makatakas mula sa mga kaaway
dusmanoldu = totoo; // pumatay ng mga hugis ng kaaway skor ++; // dagdagan isa-isa ang iskor}
// skora gore hizi artiriyoruz // dagdagan ang bilis ayon sa iskor
kung (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; antala (5); }
}
Hakbang 4: CODE BITMAP
Bukod dito, kailangan mong isama ang bitmap graphic para sa mga hugis. Dapat itong isang.c file.
isama ang // isama para sa pagpapaandar ng progmem
const unsigned char arac PROGMEM = {// bitmap ng aming hugis
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// bitmap ng barko ng kaaway
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Hakbang 5: Salamat sa Pagtingin
Kahulugan ng ilang mga salita:
Oyun => Laro
Arac => Hugis
Dusman => Kaaway
kontrol => control
Konum, Yer => Lokasyon
Oyun Bitti => Game Over
Skor => Kalidad
Hiz => Bilis