A voir également:
- Programme étoile
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Programme bonjour ✓ - Forum Windows
- Message programmé - Guide
- A quoi sert l'application Bonjour? - Forum Windows
3 réponses
Bonjour,
pour commencer, il faut créer un tableau de 26 éléments permettant de coder l'emplacement des étoiles dans le carré qui délimite le caractère
Par exemple si chaque caractère est en 3*3 (ton exemple), les éléments peuvent être codées sur 3 octets (1 octet par ligne). Tu choisis 3 bits (par exemple de poids faible) pour coder s'il y a une étoile ou non à chaque emplacement.
Une fois que la convention est fixée, tu calcules la valeur des octets et tu crées un tableau de constantes avec les valeurs calculées.
ensuite, pour chaque lettre, tu calculera son indice dans le tableau (en soustrayant la valeur ASCII de la lettre A), ce qui te donnera les emplacement des étoiles pour chaque ligne de la lettre. Avec ça, tu remplis les lignes une par une et tu les affiches à la fin.
Si ton code doit être insensible à la casse (majuscule/minuscule), il faudra affiner la recherche de l'indice du tableau.
Cédric
pour commencer, il faut créer un tableau de 26 éléments permettant de coder l'emplacement des étoiles dans le carré qui délimite le caractère
Par exemple si chaque caractère est en 3*3 (ton exemple), les éléments peuvent être codées sur 3 octets (1 octet par ligne). Tu choisis 3 bits (par exemple de poids faible) pour coder s'il y a une étoile ou non à chaque emplacement.
Une fois que la convention est fixée, tu calcules la valeur des octets et tu crées un tableau de constantes avec les valeurs calculées.
ensuite, pour chaque lettre, tu calculera son indice dans le tableau (en soustrayant la valeur ASCII de la lettre A), ce qui te donnera les emplacement des étoiles pour chaque ligne de la lettre. Avec ça, tu remplis les lignes une par une et tu les affiches à la fin.
Si ton code doit être insensible à la casse (majuscule/minuscule), il faudra affiner la recherche de l'indice du tableau.
Cédric
La seule alternative que je vois, c'est un tableau 2 dimensions de taille 26 contenant dans la premiere dimension, la lettre, et dans sa deuxieme dimension, un autre tableau (celui qui aura les etoiles) 2 dimensions de taille 3 contenant les etoiles..
Le tableau d'etoile sera de cette forme :
*****
*****
*****
Exemple :
Dans monTab[0][0] tu as "A"
Dans monTab[0][1] tu as monAutreTab
Pour afficher :
*
**
* *
Tu auras :
monAutreTab[0][0] = " ";
monAutreTab[0][1] = " ";
monAutreTab[0][2] = "*";
monAutreTab[0][3] = " "
monAutreTab[0][4] = " ";
monAutreTab[1][0] = " ";
monAutreTab[1][1] = "*";
monAutreTab[1][2] = "*";
monAutreTab[1][3] = ""
monAutreTab[1][4] = " ";
monAutreTab[2][0] = "*";
monAutreTab[2][1] = " ";
monAutreTab[2][2] = " ";
monAutreTab[2][3] = " "
monAutreTab[2][4] = "*";
Etc... Enfin, gros travail manuel, en dur et qui ne sert a rien mais je ne vois pas d'autre maniere..
Le tableau d'etoile sera de cette forme :
*****
*****
*****
Exemple :
Dans monTab[0][0] tu as "A"
Dans monTab[0][1] tu as monAutreTab
Pour afficher :
*
**
* *
Tu auras :
monAutreTab[0][0] = " ";
monAutreTab[0][1] = " ";
monAutreTab[0][2] = "*";
monAutreTab[0][3] = " "
monAutreTab[0][4] = " ";
monAutreTab[1][0] = " ";
monAutreTab[1][1] = "*";
monAutreTab[1][2] = "*";
monAutreTab[1][3] = ""
monAutreTab[1][4] = " ";
monAutreTab[2][0] = "*";
monAutreTab[2][1] = " ";
monAutreTab[2][2] = " ";
monAutreTab[2][3] = " "
monAutreTab[2][4] = "*";
Etc... Enfin, gros travail manuel, en dur et qui ne sert a rien mais je ne vois pas d'autre maniere..
en fait, Chico a une idée intéressante à retenir. Pourquoi utiliser des bits quand on peut utiliser directement le code caractère.
Donc le squelette du code pourrait ressembler à ça (en C) :
typdef struct
{
// 1 caractère sur 3 lignes de 3 caractères
char ligne1[3];
char ligne2[3];
char ligne3[3];
} CAR_ETOILE;
const CAR_ETOILE tableau[26] =
{
// A
{
" * ",
"***",
"* *"
},
// B
...
}
avec le code ASCII de la lettre, tu calcules l'indice dans tableau. Tu crées trois buffers (1 pour chaque ligne), tu les remplis par concaténation successive et quand le mot est fini, tu affiches les trois lignes.
Cédric
Donc le squelette du code pourrait ressembler à ça (en C) :
typdef struct
{
// 1 caractère sur 3 lignes de 3 caractères
char ligne1[3];
char ligne2[3];
char ligne3[3];
} CAR_ETOILE;
const CAR_ETOILE tableau[26] =
{
// A
{
" * ",
"***",
"* *"
},
// B
...
}
avec le code ASCII de la lettre, tu calcules l'indice dans tableau. Tu crées trois buffers (1 pour chaque ligne), tu les remplis par concaténation successive et quand le mot est fini, tu affiches les trois lignes.
Cédric
mais j'ai pas bien compris comment je veux calculer la valeur des octets