Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Boucle conditionnelle !
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Autre soucis: POURQUOI faire une BOUCLE pour 1 passe ?
Car je me sert du jour de cette passe pour modifier les paramètres !
Ma maigre expérience me fait dire, que quand on est pas dans le test et/ou le programme c'est difficile, voir très difficile de comprendre, de comprendre ce que veut faire l'auteur .
A force de chercher j'ai finis par trouver, et c'était en fait très simple . Pour sortir de la boucle suffit de lui mettre un paramètres qui permet de plus la faire .
Donc ici, si mon ecart ( qui correspond à la largeur de ma lettre) est inférieur à 9 ( donc une petite lettre) alors je met "m" à 2, qui me fait sortir de ma boucle, tout simplement .
En fait il y tellement de boucle imbriquées que je pensais pas que ca allait fonctionner aussi simplement !
Du coup comme il faut aussi changement des paramètres suivant si c'est une lettre de 32 ou 16 Octets, ma formule ressemble à une formule de la NASA
Voila ce que ca donne avec une seule fonction :
Code : Tout sélectionner
void affichage_Lettre2(unsigned int position){
i = j = k = valeur = 0;
for (k=0;k<=1;k++){
for (m=0;m<=1;m++){
position += m;
for (i=0;i<=7;i++){
for (j=0;j<=7;j++){
valeur += ( (((font16x8[(position+(k*t)+(j*d))])>>(7-i)) & (0x01)) << j ) ;
}
OLED_M_data(valeur);
valeur = 0 ;
}
if (ecart<9) m=2 ;
}
}
}
Maintenant que j'ai compris le principe pour bien faire , il faudrait que je reprenne tout à 0, car la je pense qu'il y a beaucoup de rustine !
To be continued !
Merci à Maï de m'avoir suivis et relancé !
Qui est en ligne
Utilisateurs parcourant ce forum : Google [Bot] et 39 invités