Kazalo:

"Ninja Dollar" Igra za Arduino: 3 koraki
"Ninja Dollar" Igra za Arduino: 3 koraki

Video: "Ninja Dollar" Igra za Arduino: 3 koraki

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

Še ena video igra za arduino.to je odlična igra, ki je naprednejša od zadnje, ki jo objavim. Zakaj je bolj zapletena od drugih? Je bolj zapletena, ker lahko skoči in strelja ter ima zvočno svetlobo in novo metodo nadaljevanja točk.

Zaloge

  1. Arduino.
  2. Ogledna plošča
  3. mostične žice
  4. Rdeča LED
  5. 2 tipki
  6. 2 upora 10k ohm
  7. 2 upora 220R.
  8. Super svetla modra LED.
  9. piezo zvočni signal
  10. 16*2 LCD zaslon

Korak: Ožičenje vsega skupaj

Ožičenje vsega skupaj
Ožičenje vsega skupaj

Zdaj morate vse ožičiti

2. korak: Kako igrati:

  1. Vklopite arduino.
  2. Na LCD -prikazovalniku je treba natisniti: "igra se začne v" in odštevanje.
  3. Pritisnite enega od gumbov za skok in drugega za strel.
  4. vsak blok, ki ga skočite, osvojite eno točko in vsak *, ki ga ulovite, vam daje 5 točk.
  5. Ko imate 50 točk ali več, ste zmagali

3. korak: Koda

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

#vključi

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

const int buttonPin1 = 1; const int gumbPin2 = 6; zvočni signal const int = 7; brez podpisa dolgi pts = 0; // nastavi gumbetates bool buttonState1 = 0; bool buttonState2 = 0; // naključno število za položaj ovir int randomNums [6]; // naključno število za število ovir int randomNum = 0; // naključno število za položaj točk int randomNums1 [3]; // naključno število za število točk int randomNum1 = 0; // čas zakasnitve pri zagonu, ki se postopoma zmanjšuje brez podpisa int myDelay = 500; // naredil to logično vrednost, da preveri, ali je gumb2 pritisnjen, ker če pritisnem enkrat v prvi zanki for, želim, da se ovire ne zapišejo do konca bool temp = 0; // ta spremenljivka shrani položaje bojevnika med streljanjem. položajev je lahko 16, ker ima bojevnik 16 položajev. int tempI [16]; // s to logično vrednostjo preverim, ali je točka ujeta bool temp1 = 0;

// uporabite to spremenljivko za shranjevanje položaja ujete točke. mora biti in matrika za shranjevanje položaja vseh točk v eni iteraciji prve zanke for. če bi shranil samo en položaj, bi se "stara" točka vrnila v novi iteraciji

int tempI1 [3]; // uporabite to spremenljivko za več posnetkov bojevnika, kar je tudi dolžina matrike tempI int button2IsPressed = 0; LCD tekoči kristal (rs, en, d4, d5, d6, d7);

void setup () {

// nastavimo število stolpcev in vrstic LCD -ja: lcd.begin (16, 2); // nastavimo način pinpinode pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (zvočni signal, OUTPUT); lcd.setCursor (4, 0); lcd.print ("IGRA"); lcd.setCursor (2, 1); lcd.print ("START IN"); lcd.print ("5"); zamuda (1000); lcd.setCursor (12, 1); lcd.print ("4"); zamuda (1000); lcd.setCursor (12, 1); lcd.print ("3"); zamuda (1000); lcd.setCursor (12, 1); lcd.print ("2"); zamuda (1000); lcd.setCursor (12, 1); lcd.print ("1"); zamuda (1000); lcd.clear ();

}

void loop () {

tukaj:

randomNum = naključno (5);

za (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("ZMAGA"); ton (zvonec, 262); zamuda (200); ton (zvonec, 330); zamuda (200); ton (zvonec, 392); zamuda (100); ton (zvonec, 330); zamuda (100); ton (zvonec, 392); zamuda (100); ton (zvonec, 523); zamuda (200); noTone (zvočni signal); zamuda (3000); lcd.clear (); pojdi sem; } else lcd.setCursor (15, 0); lcd.print (točk); buttonState1 = digitalno branje (buttonPin1); buttonState2 = digitalno branje (buttonPin2); // postavljanje ovir, če bojevnik ni streljal ali je ustrelil, ampak je tudi skočil, če (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// nastavitev točk

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

}

Priporočena: