Bonjour
Je suis en train de faire un jeu sur arduino. Ma seule contrainte : utiliser un panneau de led de 32*16.
Du coup mon jeu est le suivant : des equations s'affichent succesivement. Le premier joueur a appuyé sur son bouton gagne si l'équation est vraie, si elle est fausse et qu'un joueur a appuyé, il perd. Si au bout de quelques secondes aucuns joueur n'a appuyé, l'équation suivante apparait
Je n'arrive pas a detecter l'appuie sur un bouton...
Voici mon code
int jeuEquation() //fonction du jeu Equation
{
int s1 = 0, s2 = 0, t, r;
while(!s1 && !s2) //tant que aucun des boutons n'est appuyé. Si 1/2 est appuyé, on sort du while
{
t=random(0,14); //choix random de l'equation (parmis les 15)
afficherEquation(EQ[t][0],EQ[t][1],EQ[t][2],EQ[t][3]); //affichage de l'equation t
unsigned long temps = millis();
r=random(3,10); //on attend un temps random (entre 1 seconde et 4s) pour afficher l'équation suivante
while(millis()-temps < 400*r)
{
s1=digitalRead(J1); //on lit le bouton J1
s2=digitalRead(J2); //on lit le bouton J1
}
//on desactive toutes les led
afficherChiffre(1,-1);
afficherChiffre(2,-1);
afficherChiffre(3,-1);
afficherChiffre(4,-1);
afficherChiffre(5,-1);
afficherChiffre(6,-1);
afficherSigne(-1);
}
if(s1 && !s2) //si c'est le joueur 1 qui a appuyé
{
if(EQ[t][4]) //on verifie si l'équation etait vraie
{
return 1;
Serial.println("J1 gagne");
}
else
{
return 2;
Serial.println("J2 gagne");
}
}
else if(!s1 && !s2)
{
if(EQ[t][4])
{
return 2;
Serial.println("J2 gagne");
}
else
{
return 1;
Serial.println("J1 gagne");
}
}
}
Merci d'avance pour votre aide
Victor.