Talaan ng mga Nilalaman:

"Ninja Dollar" ang Laro para sa Arduino: 3 Hakbang
"Ninja Dollar" ang Laro para sa Arduino: 3 Hakbang

Video: "Ninja Dollar" ang Laro para sa Arduino: 3 Hakbang

Video:
Video: 🤣 Funny Fishing in the Philippines. #shorts #fishing #funnyshorts 2024, Nobyembre
Anonim
Larawan
Larawan

Ang isa pang video game para sa arduino. Ito ay isang mahusay na laro ay mas advanced kaysa sa huling nai-publish ko. Bakit mas kumplikado ito kaysa sa iba pa? Mas kumplikado ito dahil maaari itong tumalon at mabaril at magkaroon ng isang ilaw na tunog at isang bagong pamamaraan ng cont cont.

Mga gamit

  1. Arduino.
  2. Breadboard
  3. jumper wires
  4. Pulang LED
  5. 2 push button
  6. 2 10k ohm resistors
  7. 2 220R resistors.
  8. Super maliwanag na Blue LED.
  9. piezo buzzer
  10. 16 * 2 LCD display

Hakbang 1: Magkabit ng Lahat ng Magkasama

Kable ng Lahat ng Magkasama
Kable ng Lahat ng Magkasama

Ngayon kailangan mong i-wire ang lahat

Hakbang 2: Paano Maglaro:

  1. I-on ang arduino.
  2. Dapat i-print ang LCD: "ang laro ay nagsisimula sa" at isang countdown.
  3. Pindutin ang isa sa mga pindutan upang tumalon at iba pa upang kunan ng larawan.
  4. bawat bloke na tumalon ka nanalo ka ng isang puntos at bawat * na mahuli mo ay nagbibigay sa iyo ng 5 puntos.
  5. Kapag mayroon kang 50 puntos o mas mataas nanalo ka

Hakbang 3: Ang Code

// este jogo e muito interessante e ao mesmo tempo irritante e frustante mas muito divertido.

# isama

Const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

Const int buttonPin1 = 1; Const int buttonPin2 = 6; Const int buzzer = 7; unsigned mahabang pts = 0; // set buttonstates bool buttonState1 = 0; pindutan ng boolState2 = 0; // random number para sa posisyon ng mga hadlang int randomNums [6]; // random number para sa bilang ng mga hadlang int randomNum = 0; // random number para sa posisyon ng pts int randomNums1 [3]; // random number para sa bilang ng mga pts int randomNum1 = 0; // start time ng pagkaantala, na bumabagal nang unti-unting hindi naka-sign int myDelay = 500; // ginawa ang boolean na ito upang suriin kung pinindot ang button2 sapagkat kung pinindot ang isang beses sa una para sa loop nais ko ang mga hadlang na hindi maisulat hanggang sa katapusan nito bool temp = 0; // ang variable na ito ay nag-iimbak ng mga posisyon ng mandirigma habang siya ay nag-shoot. maaaring magkaroon ng 16 na posisyon sapagkat ang mandirigma ay mayroong 16 na posisyon. int tempI [16]; // ginagamit ko ang boolean na ito upang suriin kung ang point ay catched bool temp1 = 0;

// gamitin ang variable na ito upang maiimbak ang posisyon ng catched point. dapat ito at mag-ayos upang maiimbak ang posisyon ng lahat ng mga puntos sa isang pag-ulit ng una para sa loop. kung nakaimbak lamang ito ng isang posisyon, kung gayon ang "luma" na punto ay babalik sa bagong pag-ulit

int tempI1 [3]; // gamitin ang variable na ito upang magkaroon ng isang bilang ng mga pag-shot ng mandirigma, na haba din ng isang array tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

walang bisa ang pag-setup () {

// set up ang bilang ng mga haligi at hilera ng LCD: lcd.begin (16, 2); // set buttonpin mode pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buzzer, OUTPUT); lcd.setCursor (4, 0); lcd.print ("THE GAME"); lcd.setCursor (2, 1); lcd.print ("SIMULA SA"); lcd.print ("5"); pagkaantala (1000); lcd.setCursor (12, 1); lcd.print ("4"); pagkaantala (1000); lcd.setCursor (12, 1); lcd.print ("3"); pagkaantala (1000); lcd.setCursor (12, 1); lcd.print ("2"); pagkaantala (1000); lcd.setCursor (12, 1); lcd.print ("1"); pagkaantala (1000); lcd.clear ();

}

void loop () {

dito:

randomNum = random (5);

para sa (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); tono (buzzer, 262); pagkaantala (200); tono (buzzer, 330); pagkaantala (200); tono (buzzer, 392); pagkaantala (100); tono (buzzer, 330); pagkaantala (100); tono (buzzer, 392); pagkaantala (100); tono (buzzer, 523); pagkaantala (200); noTone (buzzer); pagkaantala (3000); lcd.clear (); goto dito; } iba pa lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // pagtatakda ng mga hadlang kung hindi bumaril ang mandirigma o siya ay bumaril ngunit tumalon din siya kung (! temp) {para sa (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// setting pts

kung (! temp1) {para sa (int j = 0; j

}

Inirerekumendang: