Inhoudsopgave:

"Ninja Dollar" het spel voor Arduino: 3 stappen
"Ninja Dollar" het spel voor Arduino: 3 stappen

Video: "Ninja Dollar" het spel voor Arduino: 3 stappen

Video:
Video: Дедушка не выдержал и дал ответ за Украинский флаг 2024, Juli-
Anonim
Afbeelding
Afbeelding

Een andere videogame voor arduino.it is een geweldige game die geavanceerder is dan de laatste die ik publiceer. Waarom is het complexer dan andere?

Benodigdheden

  1. Arduino.
  2. Breadboard
  3. jumperdraden
  4. Rode LED
  5. 2 drukknoppen
  6. 2 weerstanden van 10k ohm
  7. 2 220R-weerstanden.
  8. Super heldere blauwe LED.
  9. piëzo-zoemer
  10. 16*2 LCD-scherm

Stap 1: Alles samen aansluiten

Alles samen aansluiten
Alles samen aansluiten

Nu moet je alles bedraden

Stap 2: Hoe te spelen:

  1. Zet de arduino aan.
  2. Het LCD-scherm zou moeten afdrukken: "het spel begint over" en een aftelling.
  3. Druk op een van de knoppen om te springen en op de andere om te schieten.
  4. voor elk blok dat je springt heb je een punt gewonnen en elke * die je vangt levert je 5 punten op.
  5. Als je 50 punten of hoger hebt, heb je gewonnen

Stap 3: De code

//este jogo en muito interesse en oa mesmo tempo irriterene en frustante mas muito divertido.

#erbij betrekken

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

const int buttonPin1=1; const int buttonPin2=6; const int zoemer=7; niet-ondertekende lange punten = 0; //set buttonstates bool buttonState1=0; bool buttonState2=0; // willekeurig getal voor positie van obstakels int randomNums [6]; // willekeurig getal voor aantal obstakels int randomNum = 0; // willekeurig getal voor positie van punten int randomNums1 [3]; // willekeurig getal voor aantal punten int randomNum1=0; // startvertragingstijd, die geleidelijk afneemt unsigned int myDelay=500; // deze boolean gemaakt om te controleren of button2 is ingedrukt, want als er eenmaal op wordt gedrukt in de eerste for-lus, wil ik dat er geen obstakels worden geschreven tot het einde ervan bool temp=0; // deze variabele slaat de posities van de krijger op terwijl hij schiet. er kunnen 16 posities zijn omdat de krijger 16 posities heeft. int temp[16]; // ik gebruik deze boolean om te controleren of het punt is gevangen bool temp1=0;

// gebruik deze variabele om de positie van het gevangen punt op te slaan. het moet en array zijn om de positie van alle punten in één iteratie van de eerste for-lus op te slaan. als het slechts één positie opsloeg, zou het "oude" punt terugkomen in de nieuwe iteratie

int tempI1[3]; // gebruik deze variabele om een aantal shots van de krijger te maken, wat ook de lengte is van een array tempI int button2IsPressed=0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

ongeldige setup() {

// stel het aantal kolommen en rijen van het LCD-scherm in: lcd.begin (16, 2); // set buttonpin-modus pinMode (buttonPin1, INPUT); pinMode (knopPin2, INPUT); pinMode (zoemer, UITGANG); lcd.setCursor(4, 0); lcd.print("HET SPEL"); lcd.setCursor(2, 1); lcd.print("BEGINT 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.wissen();

}

lege lus() {

hier:

willekeurigNum=willekeurig (5);

for(int i=0; i9 && pts19 && pts29 && pts=50){ pts=0; mijnVertraging=500; lcd.wissen(); lcd.setCursor (5, 0); lcd.print("OVERWINNING"); toon (zoemer, 262); vertraging (200); toon (zoemer, 330); vertraging (200); toon (zoemer, 392); vertraging (100); toon (zoemer, 330); vertraging (100); toon (zoemer, 392); vertraging (100); toon (zoemer, 523); vertraging (200); geen toon (zoemer); vertraging (3000); lcd.wissen(); ga hier; } else lcd.setCursor (15, 0); lcd.print(pts); buttonState1=digitalRead(buttonPin1); buttonState2=digitalRead(buttonPin2); // obstakels plaatsen als de krijger niet schoot of hij schoot, maar hij sprong ook if(!temp){ for(int j=0; jrandomNums[j]){ lcd.setCursor(randomNums[j], 1); lcd.print("#"); }

}

}

//punten instellen

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

}

Aanbevolen: