„Ninja Dollar“hra pro Arduino: 3 kroky
„Ninja Dollar“hra pro Arduino: 3 kroky
obraz
obraz

Další videohra pro arduino.je to skvělá hra, která je pokročilejší než ta, kterou jsem publikoval. Proč je složitější než ostatní? Je to složitější, protože to může skákat a střílet a mít zvukové světlo a novou metodu cont point.

Zásoby

  1. Arduino.
  2. Prkénko
  3. propojovací vodiče
  4. Červená LED
  5. 2 tlačítka
  6. 2 10k ohmové odpory
  7. 2 odpory 220R.
  8. Super jasná modrá LED.
  9. piezo bzučák
  10. 16*2 LCD displej

Krok 1: Zapojení všeho dohromady

Zapojení všeho dohromady
Zapojení všeho dohromady

Nyní musíte vše zapojit

Krok 2: Jak hrát:

  1. Zapněte arduino.
  2. Na displeji LCD by se mělo vytisknout: „hra začíná v“a odpočítávání.
  3. Stisknutím jednoho z tlačítek skočíte a druhým střílíte.
  4. za každý vyskočený blok jste získali jeden bod a za každé *, které chytíte, získáte 5 bodů.
  5. Když máte 50 bodů nebo více, jste vyhráli

Krok 3: Kód

// jóga e muito interessante e ao mesmo tempo Irritante e frustante mas muito divertido.

#zahrnout

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

tlačítko const int Pin1 = 1; tlačítko const intPin2 = 6; konstantní bzučák = 7; nepodepsané dlouhé body = 0; // set buttonstates bool buttonState1 = 0; tlačítko boolState2 = 0; // náhodné číslo pro polohu překážek int randomNums [6]; // náhodné číslo pro počet překážek int randomNum = 0; // náhodné číslo pro pozici pts int randomNums1 [3]; // náhodné číslo pro počet bodů int randomNum1 = 0; // doba zpoždění startu, která se postupně snižuje bez znaménka int myDelay = 500; // přiměl to boolean zkontrolovat, zda je stisknuto tlačítko2, protože pokud je stisknuto jednou v první smyčce for, chci, aby překážky nebyly zapsány až do konce bool temp = 0; // tato proměnná ukládá pozice válečníka, když střílí. může existovat 16 pozic, protože válečník má 16 pozic. int tempI [16]; // tento boolean používám ke kontrole, zda je bod chycen bool temp1 = 0;

// tuto proměnnou použijte k uložení polohy zachyceného bodu. musí to být a pole pro uložení polohy všech bodů v jedné iteraci první smyčky for. pokud by ukládal pouze jednu pozici, pak by se „starý“bod vrátil v nové iteraci

int tempI1 [3]; // tuto proměnnou použijte k počtu výstřelů válečníka, což je také délka pole tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

neplatné nastavení () {

// nastavení počtu sloupců a řádků na LCD: lcd.begin (16, 2); // nastavení režimu pinpin pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (bzučák, VÝSTUP); lcd.setCursor (4, 0); lcd.print („HRA“); lcd.setCursor (2, 1); lcd.print („ZAČÍNÁ V“); lcd.print ("5"); zpoždění (1000); lcd.setCursor (12, 1); lcd.print ("4"); zpoždění (1000); lcd.setCursor (12, 1); lcd.print ("3"); zpoždění (1000); lcd.setCursor (12, 1); lcd.print ("2"); zpoždění (1000); lcd.setCursor (12, 1); lcd.print ("1"); zpoždění (1000); lcd.clear ();

}

prázdná smyčka () {

tady:

randomNum = random (5);

pro (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print („VÍTĚZSTVÍ“); tón (bzučák, 262); zpoždění (200); tón (bzučák, 330); zpoždění (200); tón (bzučák, 392); zpoždění (100); tón (bzučák, 330); zpoždění (100); tón (bzučák, 392); zpoždění (100); tón (bzučák, 523); zpoždění (200); noTone (bzučák); zpoždění (3000); lcd.clear (); jdi sem; } else lcd.setCursor (15, 0); lcd.print (body); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // nastavování překážek, pokud válečník nestřílel nebo střílel, ale také skočil, když (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// nastavení bodů

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

}

Doporučuje: