Innholdsfortegnelse:

"Ninja Dollar" spillet for Arduino: 3 trinn
"Ninja Dollar" spillet for Arduino: 3 trinn

Video: "Ninja Dollar" spillet for Arduino: 3 trinn

Video:
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Juli
Anonim
Bilde
Bilde

Et annet videospill for arduino. Det er et flott spill er mer avansert enn det siste jeg publiserte. Hvorfor er det mer komplekst enn andre? Det er mer komplekst fordi dette kan hoppe og skyte og ha et lydlys og en ny poengkont -metode.

Rekvisita

  1. Arduino.
  2. Brødbrett
  3. jumper ledninger
  4. Rød LED
  5. 2 trykknapper
  6. 2 10k ohm motstander
  7. 2 220R motstander.
  8. Super lys blå LED.
  9. piezo summer
  10. 16*2 LCD -skjerm

Trinn 1: Koble alt sammen

Koble alt sammen
Koble alt sammen

Nå må du koble alt

Trinn 2: Slik spiller du:

  1. Slå på arduinoen.
  2. LCD -skjermen skal skrive ut: "spillet starter om" og en nedtelling.
  3. Trykk på en av knappene for å hoppe og den andre for å skyte.
  4. hver blokk du hopper vant du ett poeng og hver * du fanger gir deg 5 poeng.
  5. Når du har 50 poeng eller høyere vant du

Trinn 3: Koden

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

#inkludere

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

const int buttonPin1 = 1; const int buttonPin2 = 6; const int summer = 7; usignerte lange poeng = 0; // set buttonstates bool buttonState1 = 0; bool buttonState2 = 0; // tilfeldig tall for plasseringen av hindringer int randomNums [6]; // tilfeldig tall for antall hindringer int randomNum = 0; // tilfeldig tall for posisjonen til pts int randomNums1 [3]; // tilfeldig tall for antall poeng int randomNum1 = 0; // startforsinkelse, som reduseres gradvis usignert int myDelay = 500; // gjorde denne boolske for å sjekke om knapp 2 er trykket fordi hvis den trykkes en gang i den første for sløyfe, vil jeg at hindringer ikke skal skrives før slutten av den bool temp = 0; // denne variabelen lagrer krigerens posisjoner mens han skyter. det kan være 16 stillinger fordi krigeren har 16 stillinger. int tempI [16]; // jeg bruker denne boolske for å sjekke om poenget er fanget bool temp1 = 0;

// bruk denne variabelen til å lagre posisjonen til fanget punkt. det må være og matrise for å lagre posisjonen til alle punktene i en iterasjon av den første for sløyfe. hvis den bare lagret en posisjon, ville det "gamle" punktet komme tilbake i den nye iterasjonen

int tempI1 [3]; // bruk denne variabelen for å ha et antall bilder av krigeren, som også er lengden på en matrise tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

ugyldig oppsett () {

// sette opp LCD -antallet kolonner og rader: lcd.begin (16, 2); // sett knappnålsmodus pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (summer, OUTPUT); lcd.setCursor (4, 0); lcd.print ("SPILLET"); lcd.setCursor (2, 1); lcd.print ("STARTER INN"); lcd.print ("5"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("4"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("3"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("2"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("1"); forsinkelse (1000); lcd.clear ();

}

void loop () {

her:

randomNum = tilfeldig (5);

for (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); tone (summer, 262); forsinkelse (200); tone (summer, 330); forsinkelse (200); tone (summer, 392); forsinkelse (100); tone (summer, 330); forsinkelse (100); tone (summer, 392); forsinkelse (100); tone (summer, 523); forsinkelse (200); noTone (summer); forsinkelse (3000); lcd.clear (); gå hit; } annet lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // sette hindringer hvis krigeren ikke skjøt eller han skjøt, men han hoppet også hvis (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// innstilling av poeng

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

}

Anbefalt: