Étape 13 : chaseForward et chaseReverse
Les fonctions chaseForward et chaseReverse sont essentiellement les mêmes, sauf en chaseForward, la boule est dirigée vers le joueur 2 et pour chaseReverse, le ballon se dirige vers le joueur 1. Ci-dessous, sont des exemples de chaseForward.Tout d’abord, le programme vérifie si le bouton pour retourner le ballon au joueur 1 a été activé. Si il est pressé avant la code effectue une boucle 30 fois, tricher devient « true ». C’est alors que le bouton peut uniquement être activé une fois chaque côté.
Chaque fois que la fonction effectue une boucle, la prochaine dans la bande est allumée pour « attendre » millisecondes. « attendre » est la valeur définie par le potentiomètre.
Si le bouton est enfoncé et le « ballon » est LEDs deux ou moins de la fin de la chaîne et le bouton n’a pas encore été activé, puis le ballon sera envoyé vers le joueur 1. Si le bouton est pressé avant « je » est 28 ou si elle n’est jamais pressée que le joueur 2 va perdre un point.for(i; i < 30; i++) {
if(digitalRead(Player2) == faible)
{
Cheat = « Y » ;
}
strip.setPixelColor (i, c) ; Nouveau pixel la valeur « on »
Strip.Show() ; Actualiser les États LED
strip.setPixelColor (i, 0) ; Effacer des pixels, mais ne pas actualiser !
Delay(Wait) ;
Si (j’ai 27 > & & tricher! = « Y »)
{
int BbuttonState = digitalRead(player2) ;
if(BbuttonState == Low)
{
tourner = « B » ;
drapeau = « R » ;
retour ;
}
}
}
Si le joueur 2 perd le point, un point est ajouté à la player1Points et la note mise à jour est affichée sur les tableaux d’affichage. Le joueur que 1 LED sont également allumées. player1Points ++ ;
digitalWrite (latch1, basse) ;
shiftOut (data1, l’horloge1, MSBFIRST, ~ digitOne[player1Points]) ;
shiftOut (data1, l’horloge1, MSBFIRST, ~ digitTwo[player2Points]) ;
digitalWrite (latch1, HIGH) ;
if(player1Points < score)
LCD.Print ("joueur 1 SCORES!") ;
Strip.Show() ;
Allumer les LEDs player1
digitalWrite (latch2, basse) ;
shiftOut (data2, l’horloge2, MSBFIRST, 0) ;
digitalWrite (latch2, HIGH);
fonction chaseForward ici chaseReverse fonction ici