Sisällysluettelo:

"Ninja -dollari" Arduinon peli: 3 vaihetta
"Ninja -dollari" Arduinon peli: 3 vaihetta

Video: "Ninja -dollari" Arduinon peli: 3 vaihetta

Video:
Video: DIE ANTWOORD - BABY'S ON FIRE (OFFICIAL) 2024, Heinäkuu
Anonim
Kuva
Kuva

Toinen arduino -videopeli on loistava peli, joka on kehittyneempi kuin edellinen julkaisemani.

Tarvikkeet

  1. Arduino.
  2. Leipälauta
  3. hyppyjohtimet
  4. Punainen LED
  5. 2 painonappia
  6. 2 10 k ohmin vastusta
  7. 2 220R vastukset.
  8. Erittäin kirkas sininen LED.
  9. pietsosummeri
  10. 16*2 LCD -näyttö

Vaihe 1: Kytke kaikki yhteen

Johdotus kaikki yhdessä
Johdotus kaikki yhdessä

Nyt sinun on johdettava kaikki

Vaihe 2: Kuinka pelata:

  1. Käynnistä arduino.
  2. Nestekidenäytön pitäisi tulostua: "peli alkaa" ja lähtölaskenta.
  3. Paina yhtä painikkeista hypätäksesi ja toista ampuaksesi.
  4. jokainen lohko, jonka hyppäät, voitit yhden pisteen ja jokainen *, jonka sait, antaa sinulle 5 pistettä.
  5. Kun sinulla on 50 pistettä tai enemmän, voitit

Vaihe 3: Koodi

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

#sisältää

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

const int -painikePin1 = 1; const int -painikePin2 = 6; const int summeri = 7; allekirjoittamattomat pitkät pts = 0; // set buttonstates bool buttonState1 = 0; bool buttonState2 = 0; // satunnaisluku esteiden sijainnille satunnaisestiNums [6]; // satunnaisluku esteiden lukumäärälle int randomNum = 0; // satunnaisluku pts: n sijainnille int randomNums1 [3]; // satunnaisluku pts -lukumäärälle int randomNum1 = 0; // aloitusviive, joka pienenee vähitellen unsigned int myDelay = 500; // teki tämän boolen tarkistaakseen, painetaanko painiketta 2, koska jos sitä painetaan kerran ensimmäisessä silmukassa, haluan, että esteitä ei kirjoiteta ennen kuin se päättyy bool temp = 0; // tämä muuttuja tallentaa soturin asemat hänen ampumisen aikana. siellä voi olla 16 asemaa, koska soturilla on 16 asemaa. sisäinen lämpötila [16]; // käytän tätä booleania tarkistaakseni, onko piste kiinni bool temp1 = 0;

// käytä tätä muuttujaa tallennetun pisteen sijainnin tallentamiseen. sen on oltava ja matriisi, joka tallentaa kaikkien pisteiden sijainnin ensimmäiseen silmukan iteraatioon. jos se tallentaisi vain yhden sijainnin, "vanha" piste palaisi takaisin uudessa iteraatiossa

int tempI1 [3]; // käytä tätä muuttujaa saadaksesi useita laukauksia soturista, joka on myös matriisin pituus tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

void setup () {

// aseta nestekidenäytön sarakkeiden ja rivien määrä: lcd.begin (16, 2); // aseta nastatila pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (summeri, OUTPUT); lcd.setCursor (4, 0); lcd.print ("PELI"); lcd.setCursor (2, 1); lcd.print ("ALKAA"); lcd.print ("5"); viive (1000); lcd.setCursor (12, 1); lcd.print ("4"); viive (1000); lcd.setCursor (12, 1); lcd.print ("3"); viive (1000); lcd.setCursor (12, 1); lcd.print ("2"); viive (1000); lcd.setCursor (12, 1); lcd.print ("1"); viive (1000); lcd.clear ();

}

void loop () {

tässä:

randomNum = satunnainen (5);

(int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); ääni (summeri, 262); viive (200); ääni (summeri, 330); viive (200); ääni (summeri, 392); viive (100); ääni (summeri, 330); viive (100); ääni (summeri, 392); viive (100); ääni (summeri, 523); viive (200); noTone (summeri); viive (3000); lcd.clear (); mene tänne; } else lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // esteiden asettaminen, jos soturi ei ampunut tai hän ampui, mutta hän myös hyppäsi, jos (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// pisteiden asettaminen

jos (! temp1) {for (int j = 0; j

}

Suositeltava: