Etape 11 : Randomiser l’animation à jouer
J’espère vous avez maintenant créé vos propres animations et avez un peu d’exécuter. Cela semble fantastique lors de l’exécution de chaque animation, mais peut tout à fait ennuyeux qu’il exécute dans le même ordre à chaque fois.Ce changement les exécuteront dans un ordre aléatoire.
au début de l’esquisse sous le tableau de pins, nous avons besoin d’ajouter une nouvelle définition de tableau
void (* funcAnimate[2])() ;
Cela met en place un pointeur appelé funcAnimate. Sans aller dans les détails de travail réelle elle fondamentalement met en place un tableau de fonctions que nous pouvons appeler la fonction de boucle. Nous pouvons appeler un élément de tableau aléatoire de ce tableau, puis cette fonction s’exécutera. Cela nous permet d’exécuter 3 animations aléatoires. Si vous avez plus puis 3, puis remplacez la valeur dans les crochets. N’oubliez pas que ce doit être une personne de moins alors le nombre total d’animations. (En raison du tableau à partir de comptage à 0)
Puis dans la configuration de la fonction que nous devons définir quel animation est liée à quel élément du tableau funcAnimate. Ajoutez les deux lignes suivantes et remplacez animate1 et animate2 les noms réels de vos fonctions d’animation
funcAnimate [0] = animate1 ;
funcAnimate [1] = animate2 ;
Puis dans la fonction de boucle, il faut changer le code pour appeler au hasard un élément de tableau du tableau funcAnimate.
void loop() {}
int randnumber = 0 ;
randnumber = random(0,1) ;
pour (int x = 0; x < 2; x ++) {}
(*funcAnimate[randnumber]) ();
Delay(1) ;
}
}
Dans la boucle, un nombre aléatoire est choisi entre 0 et 2 (0 ou 1). Puis la boucle appellera l’animation qui est dans cette position dans le tableau. Si vous avez plus d’animations puis 2 puis modifiez le nombre aléatoire de 2 au nombre des effets que vous avez.
Le code ci-dessous jusqu’ici devrait vous donner une idée de la façon de créer des animations et visionnez-les sur la matrice de LED.