Table des matières:

"Ninja Dollar" le jeu pour Arduino : 3 étapes
"Ninja Dollar" le jeu pour Arduino : 3 étapes

Vidéo: "Ninja Dollar" le jeu pour Arduino : 3 étapes

Vidéo:
Vidéo: Le Plus Grand Point Noir Du Monde ?😱 2024, Juillet
Anonim
Image
Image

Un autre jeu vidéo pour arduino.c'est un super jeu est plus avancé que le dernier que je publie. Pourquoi est-ce plus complexe que les autres ?C'est plus complexe car cela peut sauter et tirer et avoir un son lumineux et une nouvelle méthode de points cont.

Fournitures

  1. Arduino.
  2. Planche à pain
  3. fils de liaison
  4. DEL rouge
  5. 2 boutons poussoirs
  6. 2 résistances de 10k ohms
  7. 2 résistances 220R.
  8. LED bleue super brillante.
  9. buzzer piézo
  10. Écran LCD 16*2

Étape 1: Tout câbler ensemble

Tout câbler ensemble
Tout câbler ensemble

Maintenant, vous devez tout câbler

Étape 2: Comment jouer:

  1. Allumez l'arduino.
  2. L'écran LCD devrait afficher: "le jeu commence dans" et un compte à rebours.
  3. Appuyez sur l'un des boutons pour sauter et l'autre pour tirer.
  4. chaque bloc que vous sautez vous rapporte un point et chaque * que vous attrapez vous rapporte 5 points.
  5. Lorsque vous avez 50 points ou plus, vous avez gagné

Étape 3: Le code

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

#comprendre

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

const int boutonPin1=1; const int boutonPin2=6; const int buzzer=7; pts longs non signés=0; //définir les états des boutons bool buttonState1=0; bool buttonState2=0; //nombre aléatoire pour la position des obstacles int randomNums[6]; //nombre aléatoire pour le nombre d'obstacles int randomNum=0; //nombre aléatoire pour la position des points int randomNums1[3]; //nombre aléatoire pour le nombre de pts int randomNum1=0; //start delay time, qui diminue progressivement unsigned int myDelay=500; // fait ce booléen pour vérifier si le bouton2 est enfoncé car s'il est enfoncé une fois dans la première boucle for, je veux que les obstacles ne soient pas écrits avant la fin bool temp=0; //cette variable stocke les positions du guerrier pendant qu'il tire. il peut y avoir 16 positions car le guerrier a 16 positions. int tempI[16]; //j'utilise ce booléen pour vérifier si le point est attrapé bool temp1=0;

//utiliser cette variable pour stocker la position du point capturé. il doit être et tableau pour stocker la position de tous les points dans une itération de la première boucle for. s'il ne stockait qu'une seule position, alors l'"ancien" point reviendrait dans la nouvelle itération

int tempI1[3]; //utiliser cette variable pour avoir un nombre de plans du guerrier, qui est aussi la longueur d'un tableau tempI int button2IsPressed=0; LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {

// configure le nombre de colonnes et de lignes de l'écran LCD: lcd.begin(16, 2); // définit le mode pinMode pinMode(buttonPin1, INPUT); pinMode(boutonPin2, INPUT); pinMode(buzzer, SORTIE); lcd.setCursor(4, 0); lcd.print("LE JEU"); lcd.setCursor(2, 1); lcd.print("COMMENCE DANS "); lcd.print("5"); retard(1000); lcd.setCursor(12, 1); lcd.print("4"); retard(1000); lcd.setCursor(12, 1); lcd.print("3"); retard(1000); lcd.setCursor(12, 1); lcd.print("2"); retard(1000); lcd.setCursor(12, 1); lcd.print("1"); retard(1000); lcd.clear();

}

boucle vide() {

ici:

randomNum=aléatoire(5);

for(int i=0; i9 && pts19 && pts29 && pts=50){ pts=0; monDélai=500; lcd.clear(); lcd.setCursor(5, 0); lcd.print("VICTOIRE"); tonalité (buzzer, 262); retard (200); tonalité (buzzer, 330); retard (200); tonalité (buzzer, 392); retard (100); tonalité (buzzer, 330); retard (100); tonalité (buzzer, 392); retard (100); tonalité (buzzer, 523); retard (200); pas de tonalité (buzzer); retard(3000); lcd.clear(); allez ici; } else lcd.setCursor(15, 0); lcd.print(pts); buttonState1=digitalRead(buttonPin1); buttonState2=digitalRead(buttonPin2); //mettre des obstacles si le guerrier n'a pas tiré ou il a tiré mais il a aussi sauté if(!temp){ for(int j=0; jrandomNums[j]){ lcd.setCursor(randomNums[j], 1); lcd.print("#"); }

}

}

//définir les points

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

}

Conseillé: