Couleur sur 1 caractère d'une matrice (c)
Br8314
Messages postés
47
Statut
Membre
-
ydurce Messages postés 81 Statut Membre -
ydurce Messages postés 81 Statut Membre -
Bonjour,
Je réfléchi et test depuis un petit moment sur comment appliquer une couleur sur un seul caractère d'une matrice ~~
J'ai un jeux, un cadre rempli de petit point, chaque point est dans une partie de la matrice...
ex: table[28][1] = '.';
J'aimerais donc que seul quelques point soit d'une couleur du genre rouge...
J'ai donc essayer de faire :
textcolor(5);// passage au rouge
table[28][1]= '.';
textcolor(15); //retour en blanc
Ça ne marche pas :/ Mon prof m'a parler de créer une matrice a deux dimensions... Sauf que je ne gère pas assez pour faire ca~~
Y aurait-il une façon de faire? J'utilise conio.h qui marche très bien sur tout le reste du programme (sur le texte a l'extérieur de la matrice).
Merci (J'espère avoir été compréhensible)
Je réfléchi et test depuis un petit moment sur comment appliquer une couleur sur un seul caractère d'une matrice ~~
J'ai un jeux, un cadre rempli de petit point, chaque point est dans une partie de la matrice...
ex: table[28][1] = '.';
J'aimerais donc que seul quelques point soit d'une couleur du genre rouge...
J'ai donc essayer de faire :
textcolor(5);// passage au rouge
table[28][1]= '.';
textcolor(15); //retour en blanc
Ça ne marche pas :/ Mon prof m'a parler de créer une matrice a deux dimensions... Sauf que je ne gère pas assez pour faire ca~~
Y aurait-il une façon de faire? J'utilise conio.h qui marche très bien sur tout le reste du programme (sur le texte a l'extérieur de la matrice).
Merci (J'espère avoir été compréhensible)
A voir également:
- Couleur sur 1 caractère d'une matrice (c)
- Caractère spéciaux - Guide
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractere vide - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
1 réponse
bonjour,
quelques idées en vrac:
si le caractére est toujours le point '.', il est inutile de le conserver dans votre matrice, vous pouvez le remplacer par la couleur.
sinon, le mieux à faire est d'associer la couleur à chaque élément de votre matrice. Pour faire cela, il faut créer un type de donnée qui associe le caractére à afficher et sa couleur (pensez à une 'structure' ....)
et ensuite construire votre matrice à partir de ce type de données.
Ainsi , pour chaque élément de votre matrice, vous aurez le caractére à afficher et sa couleur.
bon courage.
quelques idées en vrac:
si le caractére est toujours le point '.', il est inutile de le conserver dans votre matrice, vous pouvez le remplacer par la couleur.
sinon, le mieux à faire est d'associer la couleur à chaque élément de votre matrice. Pour faire cela, il faut créer un type de donnée qui associe le caractére à afficher et sa couleur (pensez à une 'structure' ....)
et ensuite construire votre matrice à partir de ce type de données.
Ainsi , pour chaque élément de votre matrice, vous aurez le caractére à afficher et sa couleur.
bon courage.
Je crois que c'est ce que je voulais faire, mais je n'ai pas réussi et ne vois pas vraiment comment m'y prendre, j'ai seulement 1 mois de C derrière moi :/
Donc comment dois-je m'y prendre? Un exemple?
Merci en tout cas.
typedef struct { char le_caractere; int la_couleur; } type_car_color; /* cette déclaration est hors code en C, idéalement dans un .h que l'on incluera dans le .c par #include */ /* ensuite dans le code, pour créer la matrice */ type_car_color Table[MM][NN]; //ou **Table si elle est créee en dynamique /* pour accéder à un élément, par ex le 2éme de la 5éme colonne*/ Table[2][5].le_caractere='.'; Table[2][5].la_couleur=5;Je l'ai inclue dans mon fichier : toto.c (#include "couleur.h")
Dans le fichier couleur.h j'ai donc mis :
typedef struct { char le_caractere; int la_couleur; } type_car_color;Puis dans mon fichier toto.c :
table[16][50].le_caractere = 0x1F;
table[16][50].la_couleur = 5;
Je compile et voilà les erreurs :
error: request for member 'le_caractere' in something not a structure or union|
error: request for member 'la_couleur' in something not a structure or union|
Je maitrise pas vraiment les struct...
int main ( int argc, char *argv[]){ char table [20][60];Je modifie "char table [20][60];" par " type_car_color table [20][60];" ??
C'est possible? ^^'