Obsah:

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

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

Video: „Ninja Dollar“hra pro Arduino: 3 kroky
Video: Ben 10 Omniverse Galaxy Watch App (Randomizer) 2024, Červenec
Anonim
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: