Innehållsförteckning:

"Ninja Dollar" spelet för Arduino: 3 steg
"Ninja Dollar" spelet för Arduino: 3 steg

Video: "Ninja Dollar" spelet för Arduino: 3 steg

Video:
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Juli
Anonim
Bild
Bild

Ett annat tv -spel för arduino. Det är ett bra spel som är mer avancerat än det senaste jag publicerade. Varför att det är mer komplext än annat? Det är mer komplext eftersom det här kan hoppa och skjuta och ha ett ljudljus och en ny poäng cont metod.

Tillbehör

  1. Arduino.
  2. Bakbord
  3. bygelkablar
  4. Röd LED
  5. 2 tryckknappar
  6. 2 10k ohm motstånd
  7. 2 220R motstånd.
  8. Super ljusblå LED.
  9. piezo summer
  10. 16*2 LCD -skärm

Steg 1: Koppla ihop allt

Koppla ihop allt
Koppla ihop allt

Nu måste du ansluta allt

Steg 2: Hur man spelar:

  1. Slå på arduino.
  2. LCD -skärmen ska skriva ut: "spelet börjar om" och en nedräkning.
  3. Tryck på en av knapparna för att hoppa och andra för att skjuta.
  4. varje block du hoppar vann du en poäng och varje * som du fångar ger dig 5 poäng.
  5. När du har 50 poäng eller högre vann du

Steg 3: Koden

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

#omfatta

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

const int buttonPin1 = 1; const int buttonPin2 = 6; const int summer = 7; osignerade långa poäng = 0; // set buttonstates bool buttonState1 = 0; bool buttonState2 = 0; // slumpmässigt nummer för hinderens position i randomNums [6]; // slumptal för antal hinder int randomNum = 0; // slumpmässigt tal för positionen för pts int randomNums1 [3]; // slumpmässigt tal för antal poäng int randomNum1 = 0; // startfördröjningstid, vilket minskar gradvis osignerad int myDelay = 500; // gjorde den här boolesken för att kontrollera om knapp2 är nedtryckt för om den trycks in en gång i den första för slingan vill jag att hinder inte ska skrivas förrän slutet på den bool temp = 0; // denna variabel lagrar krigarens positioner medan han skjuter. det kan finnas 16 positioner eftersom krigare har 16 positioner. int tempI [16]; // jag använder denna booleska för att kontrollera om punkten fångas bool temp1 = 0;

// använd denna variabel för att lagra positionen för den fångade punkten. det måste vara och array för att lagra positionen för alla punkter i en iteration av den första för slingan. om den bara lagrade en position, skulle den "gamla" punkten komma tillbaka i den nya iterationen

int tempI1 [3]; // använd denna variabel för att ha ett antal bilder av krigaren, vilket också är längden på en array tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

void setup () {

// ställ in LCD -skärmens antal kolumner och rader: lcd.begin (16, 2); // ställ in knappnålsläge pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (summer, OUTPUT); lcd.setCursor (4, 0); lcd.print ("SPELET"); lcd.setCursor (2, 1); lcd.print ("STARTAR IN"); lcd.print ("5"); fördröjning (1000); lcd.setCursor (12, 1); lcd.print ("4"); fördröjning (1000); lcd.setCursor (12, 1); lcd.print ("3"); fördröjning (1000); lcd.setCursor (12, 1); lcd.print ("2"); fördröjning (1000); lcd.setCursor (12, 1); lcd.print ("1"); fördröjning (1000); lcd.clear ();

}

void loop () {

här:

randomNum = random (5);

för (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); ton (summer, 262); fördröjning (200); ton (summer, 330); fördröjning (200); ton (summer, 392); fördröjning (100); ton (summer, 330); fördröjning (100); ton (summer, 392); fördröjning (100); ton (summer, 523); fördröjning (200); noTone (summer); fördröjning (3000); lcd.clear (); gå hit; } annars lcd.setCursor (15, 0); lcd.print (poäng); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // sätta hinder om krigare inte skjuter eller han skjuter men han hoppade också om (! temp) {för (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// ställa in poäng

om (! temp1) {för (int j = 0; j

}

Rekommenderad: