Obsah:

„Ninja Dollar“hra pre Arduino: 3 kroky
„Ninja Dollar“hra pre Arduino: 3 kroky

Video: „Ninja Dollar“hra pre Arduino: 3 kroky

Video: „Ninja Dollar“hra pre Arduino: 3 kroky
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Júl
Anonim
Obrázok
Obrázok

Ďalšia videohra pre arduino.je to skvelá hra, ktorá je pokročilejšia než tá, ktorú zverejňujem. Prečo je zložitejšia ako ostatné? Je to zložitejšie, pretože to môže skákať a strieľať a mať zvukové svetlo a novú metódu bodov.

Zásoby

  1. Arduino.
  2. Breadboard
  3. prepojovacie vodiče
  4. Červená LED
  5. 2 tlačidlá
  6. 2 odpory 10 kOhm
  7. 2 odpory 220R.
  8. Super jasná modrá LED dióda.
  9. piezový bzučiak
  10. 16*2 LCD displej

Krok 1: Zapojenie všetkého dohromady

Zapojenie všetkého dohromady
Zapojenie všetkého dohromady

Teraz musíte všetko prepojiť

Krok 2: Ako hrať:

  1. Zapnite arduino.
  2. Na displeji LCD by sa malo vytlačiť: „Hra začína o“a odpočítavanie.
  3. Stlačením jedného z tlačidiel skočíte a druhým vystrelíte.
  4. za každý vyskočený blok ste získali jeden bod a za každé * chytenie získate 5 bodov.
  5. Keď získate 50 bodov alebo viac, vyhrali ste

Krok 3: Kód

// záleží na tom, aby ste sa zaujímali o ďalšie tempo, ale aby ste to nesklamali, divertido.

#zahrnúť

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

tlačidlo const intPin1 = 1; tlačidlo const intPin2 = 6; bzučiak const int = 7; nepodpísané dlhé body = 0; // set buttonstates bool buttonState1 = 0; tlačidlo boolState2 = 0; // náhodné číslo pre polohu prekážok int randomNums [6]; // náhodné číslo pre počet prekážok int randomNum = 0; // náhodné číslo pre polohu pts int randomNums1 [3]; // náhodné číslo pre počet bodov int randomNum1 = 0; // čas oneskorenia spustenia, ktorý sa postupne znižuje bez znamienka int myDelay = 500; // toto bolo booleovské, aby skontroloval, či je stlačené tlačidlo2, pretože ak je stlačené raz v prvej slučke for, chcem, aby sa prekážky nepísali až do konca bool temp = 0; // táto premenná ukladá pozície bojovníka, keď strieľa. môže existovať 16 pozícií, pretože bojovník má 16 pozícií. int tempI [16]; // pomocou tejto logickej hodnoty skontrolujem, či je bod zachytený bool temp1 = 0;

// pomocou tejto premennej uložíte polohu zachyteného bodu. musí to byť a pole na uloženie polohy všetkých bodov v jednej iterácii prvej slučky for. ak by ukladal iba jednu pozíciu, potom by sa „starý“bod vrátil v novej iterácii

int tempI1 [3]; // pomocou tejto premennej získate počet záberov bojovníka, čo je tiež dĺžka poľa tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

neplatné nastavenie () {

// nastavenie počtu stĺpcov a riadkov na LCD: lcd.begin (16, 2); // nastavenie režimu pinpin pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (bzučiak, VÝSTUP); lcd.setCursor (4, 0); lcd.print („HRA“); lcd.setCursor (2, 1); lcd.print („ZAČÍNA V“); lcd.print ("5"); oneskorenie (1000); lcd.setCursor (12, 1); lcd.print ("4"); oneskorenie (1000); lcd.setCursor (12, 1); lcd.print ("3"); oneskorenie (1000); lcd.setCursor (12, 1); lcd.print ("2"); oneskorenie (1000); lcd.setCursor (12, 1); lcd.print ("1"); oneskorenie (1000); lcd.clear ();

}

prázdna slučka () {

tu:

randomNum = random (5);

pre (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print („VÍŤAZSTVO“); tón (bzučiak, 262); oneskorenie (200); tón (bzučiak, 330); oneskorenie (200); tón (bzučiak, 392); oneskorenie (100); tón (bzučiak, 330); oneskorenie (100); tón (bzučiak, 392); oneskorenie (100); tón (bzučiak, 523); oneskorenie (200); noTone (bzučiak); oneskorenie (3000); lcd.clear (); choď sem; } else lcd.setCursor (15, 0); lcd.print (body); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // kladenie prekážok, ak bojovník nevystrelil alebo vystrelil, ale tiež skočil, ak (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// nastavenie bodov

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

}

Odporúča: