Satura rādītājs:

Spēle "Ninja Dollar" Arduino: 3 soļi
Spēle "Ninja Dollar" Arduino: 3 soļi

Video: Spēle "Ninja Dollar" Arduino: 3 soļi

Video: Spēle
Video: Приказ комиссара. Warhammer 40k 2024, Novembris
Anonim
Attēls
Attēls

Vēl viena arduino videospēle. Tā ir lieliska spēle, kas ir progresīvāka nekā iepriekš publicētā. Kāpēc tā ir sarežģītāka par citām? Tas ir sarežģītāk, jo tas var lēkt un šaut, un tam ir skaņas gaisma un jauna punktu kontroles metode.

Piegādes

  1. Arduino.
  2. Maizes dēlis
  3. džemperu vadi
  4. Sarkana gaismas diode
  5. 2 spiedpogas
  6. 2 10k omu rezistori
  7. 2 220R rezistori.
  8. Īpaši spilgti zils LED.
  9. pjezo skaņas signāls
  10. 16*2 LCD displejs

1. darbība: visu savienojiet kopā

Elektroinstalācija kopā
Elektroinstalācija kopā

Tagad jums viss ir jāsavieno

2. darbība. Kā spēlēt:

  1. Ieslēdziet arduino.
  2. LCD ekrānā vajadzētu drukāt: "spēle sākas pēc" un atpakaļskaitīšana.
  3. Nospiediet vienu no pogām, lai pārietu, un otru, lai šautu.
  4. katrs bloks, ko lēcāt, uzvarēja vienu punktu, un katrs *, ko nozvejojat, dod jums 5 punktus.
  5. Ja jums ir 50 punkti vai vairāk, jūs uzvarējāt

3. darbība: kods

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

#iekļaut

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

const int pogaPin1 = 1; const int pogaPin2 = 6; const int skaņas signāls = 7; neparakstīti gari pts = 0; // set buttonstates bool buttonState1 = 0; bool buttonState2 = 0; // nejaušs skaitlis šķēršļu novietojumam int randomNums [6]; // nejaušs skaitlis šķēršļu skaitam int randomNum = 0; // izlases numurs pts pozīcijai int randomNums1 [3]; // izlases skaitlis pts skaitam int randomNum1 = 0; // sākuma aizkaves laiks, kas pakāpeniski samazinās neparakstīts int myDelay = 500; // lika šo Būla vērtību, lai pārbaudītu, vai ir nospiesta poga2, jo, ja cilpā pirmo reizi tiek nospiesta vienreiz, es vēlos, lai šķēršļi netiktu rakstīti līdz beigām bool temp = 0; // šis mainīgais saglabā karavīra pozīcijas, kamēr viņš šauj. var būt 16 pozīcijas, jo karavīram ir 16 pozīcijas. int tempI [16]; // es izmantoju šo Būla vērtību, lai pārbaudītu, vai punkts ir noķerts bool temp1 = 0;

// izmantojiet šo mainīgo, lai saglabātu noķertā punkta pozīciju. tai jābūt un masīvam, lai visu punktu atrašanās vieta tiktu saglabāta vienā cilpas pirmās atkārtojumā. ja tas saglabātu tikai vienu pozīciju, tad vecais punkts atgrieztos jaunajā iterācijā

int tempI1 [3]; // izmantojiet šo mainīgo, lai iegūtu vairākus karavīra šāvienus, kas ir arī masīva garums tempI int button2IsPressed = 0; LiquidCrystal LCD (rs, en, d4, d5, d6, d7);

void setup () {

// iestatiet LCD kolonnu un rindu skaitu: lcd.begin (16, 2); // iestatīt spiedpogu režīmu pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (skaņas signāls, OUTPUT); lcd.setCursor (4, 0); lcd.print ("SPĒLE"); lcd.setCursor (2, 1); lcd.print ("STARTS IN"); lcd.print ("5"); kavēšanās (1000); lcd.setCursor (12, 1); lcd.print ("4"); kavēšanās (1000); lcd.setCursor (12, 1); lcd.print ("3"); kavēšanās (1000); lcd.setCursor (12, 1); lcd.print ("2"); kavēšanās (1000); lcd.setCursor (12, 1); lcd.print ("1"); kavēšanās (1000); lcd.clear ();

}

void loop () {

šeit:

randomNum = izlases (5);

par (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("UZVARA"); tonis (skaņas signāls, 262); kavēšanās (200); tonis (skaņas signāls, 330); kavēšanās (200); tonis (skaņas signāls, 392); kavēšanās (100); tonis (skaņas signāls, 330); kavēšanās (100); tonis (skaņas signāls, 392); kavēšanās (100); tonis (skaņas signāls, 523); kavēšanās (200); noTone (skaņas signāls); kavēšanās (3000); lcd.clear (); ej šeit; } cits lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // šķēršļu noteikšana, ja karotājs nešāva vai viņš šāva, bet viņš arī lēca, ja (! temp) {par (int j = 0; nejaušības_numuri [j]) {lcd.setCursor (izlasesNums [j], 1); lcd.print ("#"); }

}

}

// iestatot pts

ja (! temp1) {par (int j = 0; j

}

Ieteicams: