Indholdsfortegnelse:

"Ninja Dollar" spillet til Arduino: 3 trin
"Ninja Dollar" spillet til Arduino: 3 trin

Video: "Ninja Dollar" spillet til Arduino: 3 trin

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

Et andet videospil til arduino.it er et fantastisk spil er mere avanceret end det sidste, jeg udgav. Hvorfor er det mere komplekst end andet? Det er mere komplekst, fordi dette kan hoppe og skyde og have et lydlys og en ny point cont -metode.

Forbrugsvarer

  1. Arduino.
  2. Brødbræt
  3. jumper ledninger
  4. Rød LED
  5. 2 trykknapper
  6. 2 10k ohm modstande
  7. 2 220R modstande.
  8. Super lys blå LED.
  9. piezo summer
  10. 16*2 LCD -display

Trin 1: Tilslut alt sammen

Tilslutning af alt sammen
Tilslutning af alt sammen

Nu skal du koble alt

Trin 2: Sådan spiller du:

  1. Tænd for arduinoen.
  2. LCD'et skal udskrive: "spillet starter om" og en nedtælling.
  3. Tryk på en af knapperne for at hoppe og anden for at skyde.
  4. hver blok, du hopper, vandt du et point, og hver * du fanger giver dig 5 point.
  5. Når du har 50 point eller højere, vandt du

Trin 3: Koden

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

#omfatte

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; usignerede lange punkter = 0; // sæt knapstater bool buttonState1 = 0; bool buttonState2 = 0; // tilfældigt tal for placeringen af forhindringer i randomNums [6]; // tilfældigt tal for antal forhindringer int randomNum = 0; // tilfældigt tal for position af pts int randomNums1 [3]; // tilfældigt tal for antal pts int randomNum1 = 0; // startforsinkelsestid, som gradvist falder usigneret int myDelay = 500; // lavede denne boolean for at kontrollere, om der trykkes på knap2, fordi hvis den trykkes en gang i den første for sløjfe, vil jeg have forhindringer, der ikke skal skrives, før den afslutter bool temp = 0; // denne variabel gemmer krigerens positioner, mens han skyder. der kan være 16 positioner, fordi krigeren har 16 positioner. int tempI [16]; // jeg bruger denne boolean til at kontrollere, om punktet er fanget bool temp1 = 0;

// brug denne variabel til at gemme placeringen af det fangede punkt. det skal være og array for at gemme placeringen af alle punkterne i en iteration af den første for loop. hvis den kun lagrede en position, ville det "gamle" punkt vende tilbage i den nye iteration

int tempI1 [3]; // brug denne variabel til at have et antal skud af krigeren, hvilket også er længden af en array tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

ugyldig opsætning () {

// konfigurer LCD's antal kolonner og rækker: lcd.begin (16, 2); // indstil knapnålstilstand pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (summer, OUTPUT); lcd.setCursor (4, 0); lcd.print ("SPILET"); lcd.setCursor (2, 1); lcd.print ("STARTER IND"); lcd.print ("5"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("4"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("3"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("2"); forsinkelse (1000); lcd.setCursor (12, 1); lcd.print ("1"); forsinkelse (1000); lcd.clear ();

}

void loop () {

her:

randomNum = tilfældig (5);

for (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); tone (summer, 262); forsinkelse (200); tone (summer, 330); forsinkelse (200); tone (summer, 392); forsinkelse (100); tone (summer, 330); forsinkelse (100); tone (summer, 392); forsinkelse (100); tone (summer, 523); forsinkelse (200); noTone (summer); forsinkelse (3000); lcd.clear (); gå her; } ellers lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // sætter forhindringer, hvis krigeren ikke skyder, eller han skød, men han hoppede også, hvis (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// indstilling af pkt

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

}

Anbefalede: