INHOUDSOPGAWE:

"Ninja Dollar" die spel vir Arduino: 3 stappe
"Ninja Dollar" die spel vir Arduino: 3 stappe

Video: "Ninja Dollar" die spel vir Arduino: 3 stappe

Video:
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, Julie
Anonim
Beeld
Beeld

'N Ander videospeletjie vir arduino.it is 'n wonderlike speletjie wat meer gevorderd is as die laaste wat ek gepubliseer het. Waarom is dit meer ingewikkeld as ander? Dit is meer ingewikkeld omdat dit kan spring en skiet met 'n goeie lig en 'n nuwe puntmetode.

Voorrade

  1. Arduino.
  2. Broodbord
  3. springdrade
  4. Rooi LED
  5. 2 drukknoppies
  6. 2 10k ohm weerstande
  7. 2 220R weerstande.
  8. Super helder blou LED.
  9. piezo gonser
  10. 16*2 LCD -skerm

Stap 1: Verbind alles saam

Alles saam bedraad
Alles saam bedraad

Nou moet jy alles oordraai

Stap 2: Hoe om te speel:

  1. Skakel die arduino aan.
  2. Die LCD moet druk: "die spel begin" en 'n aftelling.
  3. Druk een van die knoppies om te spring en die ander om te skiet.
  4. elke blok wat jy spring, het jy een punt gewen en elke * wat jy vang, gee jou 5 punte.
  5. As jy 50 punte of hoër het, het jy gewen

Stap 3: Die kode

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

#insluit

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

const int buttonPin1 = 1; const int buttonPin2 = 6; const int gonser = 7; ongetekende lang punte = 0; // stel knoppies op bool buttonState1 = 0; bool buttonState2 = 0; // ewekansige getal vir die posisie van hindernisse in randomNums [6]; // ewekansige getal vir die aantal hindernisse int randomNum = 0; // ewekansige getal vir posisie van pts int randomNums1 [3]; // ewekansige getal vir die aantal punte int randomNum1 = 0; // begin vertragingstyd, wat geleidelik afneem ongeteken int myDelay = 500; // het hierdie boolean gemaak om te kyk of knoppie2 ingedruk word, want as dit een keer in die eerste ingedruk word vir lus, wil ek hê dat struikelblokke nie aan die einde daarvan geskryf word nie bool temp = 0; // hierdie veranderlike stoor die posisies van die kryger terwyl hy skiet. daar kan 16 posisies wees omdat die vegter 16 posisies het. int tempI [16]; // ek gebruik hierdie booleaanse om te kyk of die punt gevang word bool temp1 = 0;

// gebruik hierdie veranderlike om die posisie van die vangpunt op te slaan. dit moet en skikking wees om die posisie van al die punte in een herhaling van die eerste vir lus te stoor. as dit slegs een posisie gestoor het, sou die 'ou' punt in die nuwe iterasie terugkom

int tempI1 [3]; // gebruik hierdie veranderlike om 'n aantal skote van die kryger te maak, wat ook die lengte is van 'n skikking tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

ongeldige opstelling () {

// stel die aantal kolomme en rye van die LCD op: lcd.begin (16, 2); // stel knoppie -modus in pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (zoemer, UITGANG); lcd.setCursor (4, 0); lcd.print ("DIE SPEL"); lcd.setCursor (2, 1); lcd.print ("BEGIN IN"); lcd.print ("5"); vertraging (1000); lcd.setCursor (12, 1); lcd.print ("4"); vertraging (1000); lcd.setCursor (12, 1); lcd.print ("3"); vertraging (1000); lcd.setCursor (12, 1); lcd.print ("2"); vertraging (1000); lcd.setCursor (12, 1); lcd.print ("1"); vertraging (1000); lcd.clear ();

}

leemte -lus () {

hier:

randomNum = random (5);

vir (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("OORWINNING"); toon (gonser, 262); vertraging (200); toon (gonser, 330); vertraging (200); toon (gonser, 392); vertraging (100); toon (gonser, 330); vertraging (100); toon (gonser, 392); vertraging (100); toon (gonser, 523); vertraging (200); noTone (gonser); vertraging (3000); lcd.clear (); hiernatoe; } anders lcd.setCursor (15, 0); lcd.print (pte); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // hindernisse stel as die vegter nie skiet nie of hy skiet, maar hy spring ook as (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// stel punte

as (! temp1) {vir (int j = 0; j

}

Aanbeveel: