Active Buzzer Duel

Ce jeu a le même principe du précédent sauf que cette fois, au lieu des leds, il faut attendre que le buzzer active arrête d’émettre des sons!

Code:

 // Boutons Joueurs
 int buttonApin = 8;
 int buttonBpin = 9;
  
 int buzzer = 10;//the pin of the active buzzer
  
 int nbLoop = 0; // N° de la loop actuelle
 int stopAtLoop = 0;  // N° de la loop de fin
 int stopGame = 0;  // Fin du jeu
  
 void setup() {
   // Initialisation des boutons
   pinMode(buttonApin, INPUT_PULLUP);  
   pinMode(buttonBpin, INPUT_PULLUP);  
  
   pinMode(buzzer,OUTPUT);//initialize the buzzer pin as an output
  
   // Randomiser le numéro de la loop de fin
   randomSeed(analogRead(0));
   stopAtLoop = random(50, 100);
  
   // Initialiser l'output sur le moniteur série
   Serial.begin(9600);
  
 }
  
 void loop() {
     // Jeu terminé, appuyer sur reset pour redémarrer!
     if(stopGame == 1)
         return;
  
     // Dernière loop atteinte
     if(nbLoop == stopAtLoop) {
  
       // Attendre le vainqueur
       if(digitalRead(buttonApin) == LOW) {
         Serial.println("Joueur 1 a gagné !");
         stopGame = 1;
         return;
       }
       
       if(digitalRead(buttonBpin) == LOW) {
         Serial.println("Joueur 2 a gagné !");
         stopGame = 1;
         return;
       }
       
     } else { // Lancer le buzzer
  
       digitalWrite(buzzer,HIGH);
       delay(1);//wait for 1ms
       digitalWrite(buzzer,LOW);
  
       // Incrémenter compteur de loop
       nbLoop++;
  
       // delay 100 ms
       for(int j=0; j< 10; j++) {
  
         // Arrêter le jeu si qq appuie sur un bouton
         if(digitalRead(buttonApin) == LOW) {
           Serial.println("Joueur 1 a perdu");
           stopGame = 1;
           return;
         } else if(digitalRead(buttonBpin) == LOW) {
           Serial.println("Joueur 2 a perdu");
           stopGame = 1;
           return;
         }
         
         delay(10);  
       }
  
     }
 }

Les montages ont été faits en utilisant le Starter Kit du Débutant d'Elegoo, acheté sur Amazon.

Lien: https://www.amazon.fr/gp/product/B01JD2Z5XW/ 

Cet article a été mis à jour le 18/02/2018

Commentaires