/*Génération d'un nombre aléatoire.
Utilisation d'un tableau pour passer par tous les nombres. */
int const Bp=2; //Start
int NbAleatoire;
int TabNbAle[11]={0,0,0,0,0,0,0,0,0,0,0}; //Tableau nombre aléatoire, toutes cases à 0.
int CaseTableau=0; //Cases du tableau, incrémentées de 1 jusqu'à 11.
//Le 0 n'est pas utilisé car incrémenté dès le début. Donc 10 morceaux Mp3 joués aléatoirement.
void setup() {
pinMode(2, INPUT_PULLUP); //Bp.
digitalWrite(LED_BUILTIN, LOW); //EXTINCTION led 13.
Serial.begin(9600);
}
void loop() {
while(digitalRead(Bp)==HIGH) {} //Démarrage de la séquence par Bp.
ONE:
randomSeed(millis()); //Fonction Millis utilisée pour le Seed.
NbAleatoire=random(1,11);
if (NbAleatoire==TabNbAle[1]||NbAleatoire==TabNbAle[2]||NbAleatoire==TabNbAle[3]||NbAleatoire==TabNbAle[4]
||NbAleatoire==TabNbAle[5]||NbAleatoire==TabNbAle[6]||NbAleatoire==TabNbAle[7]||NbAleatoire==TabNbAle[8]||NbAleatoire==TabNbAle[9])
{goto ONE;} // "||" s'obtient avec Maj+control+L. Afin d'avoir la série complète de 10 Mp3.
CaseTableau=++CaseTableau; //stoquer dans la case suivante du tableau.
Serial.print("Nombre-case: ");
Serial.print(NbAleatoire);
Serial.print(" - ");
Serial.println(CaseTableau);
TabNbAle[CaseTableau]=NbAleatoire; //Stoquer le nombre aléatoire dans le tableau.
for(byte i=0;i<10;i=i+1) {Serial.print(TabNbAle[i]);} //N'affiche pas la case 11 qui ne sert qu'au comptage.
Serial.println(" "); //pour un affichage propre.
if (CaseTableau==10) {for(byte i=0;i<12;i++){TabNbAle [i]=0;};CaseTableau=0;} //Remise à 0 du tableau.
Serial.println(" "); //Saut de ligne.
delay(1000);
}