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 :
j'utilise une fonction qui génère un nombre aléatoire comme celle-ciCode: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; }
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.Code:int rand_a_b(int a,int b) { return rand()%(b-a)+a; }
J'ai donc fait cette fonction
Qui fonctionne bien et ainsi remplacer le chiffre 20 par les différentes variableCode: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; } } }
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
-----