Bonjour,

Je suis en train de coder et quelque chose m'échappe, ce que je fait devrait à mon sens fonctionner seulement ça bloque tout, je m'explique :

j'ai une tempo généré par l'interruption du timer1 qui me fait rentrer dans un if :
Code:
                if (ms_ligne==F_ligne)
                {
                CYCLE_1=rand_a_b(J1_min,20);  //intensité du jaune du haut
                CYCLE_2=rand_a_b(J2_min,20);  //intensité jaune du milieux
                CYCLE_3=rand_a_b(R_min,20);  //intensité rouge
                ms_ligne=0;
                }
j'utilise une fonction qui génère un nombre aléatoire comme celle-ci

Code:
int rand_a_b(int a,int b)
{
return rand()%(b-a)+a;

}
Je génère donc des nombres aléatoires toutes les F_ligne et à l'activation d'une variable "light" à 0 ou 1 je souhaite faire varier la valeur max de la fonction aléatoire actuellement à 20.
J'ai donc fait cette fonction
Code:
void starstop(void)
{

       if (ms_progression > Start_stop)
       {
       ms_progression=0;

           if(light==1)
           {
               

                if (J1_var < J1_max) J1_var++;  else J1_var=J1_max;
                if (J2_var < J2_max)J2_var++; else   J2_var=J2_max;
                if (R_var < R_max)  R_var++; else R_var=R_max;
               
           }

           if(light==0)
           {
              

                if (J1_var > J1_min) J1_var--;  else J1_var=J1_min;
                if (J2_var > J2_min) J2_var--;  else  J2_var=J2_min;
                if (R_var > R_min) R_var--; else R_var=R_min;
                
           }
       }

}
Qui fonctionne bien et ainsi remplacer le chiffre 20 par les différentes variable
J1_var
J2_var
R_var

et c'est donc là que ça bloque ? plus rien ne se passe, je ne comprend pas, j'ai juste remplacé un entier "20" par une variable de type entier également.

Merci pour vos lumières