Dj_Gogo_2000, nicodache Tuning PC : gaugo Le salon de discussion : Endeavour, 1 utilisateur anonyme et 18 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Tableau et Couleurs

n°2414
C4H8O3
Posté le 30-03-2004 à 14:54:18  profilanswer
 

Bonjour
 
Je "dois" afficher dans un tableau des etoiles de couleurs différentes.
 
J'ai 5 couleurs : blanc, vert, bleu, jaune, rouge (j'ai les nums qui correspond aux couleurs
 
on m'a dit : textcolor() et cprintf("" ) :  testé et non approuvé
 
 
mici de votre aide


---------------
Aqua Paris
mood
Google
Posté le 30-03-2004 à 14:54:18  profilanswer
 

n°2419
ced-2k
TODO : Insert text here.
Posté le 30-03-2004 à 18:14:26  profilanswer
 
n°2421
C4H8O3
Posté le 30-03-2004 à 21:38:59  profilanswer
 

oui mais encore ?
 
dans mon tableau je dois imprimer certaines "*" en rouge, d'autres bleu, jaune, blanc, vert
 
 
textcolor() et  cprintf çà va me sortir toute les "*" de la meme couleur  :o et elle ne sont pas forcement les unes a cotés des autres
 
suis entrain de faire une bataille spatiale
mes vaisseaux seront représentés par des etoiles de différentes couleurs
la place des vaisseaux est aléatoire  
 
mais bon mon probleme c'est "d'imprimer" le tableau en une seule fois avec les couleurs différentes pour les vaisseaux


Message édité par C4H8O3 le 30-03-2004 à 21:39:20

---------------
Aqua Paris
n°2422
ced-2k
TODO : Insert text here.
Posté le 30-03-2004 à 22:01:35  profilanswer
 

tu saura pas l'imprimer d'une seule fois tu devra faire une série de textcolor et de cprintf pour afficher les vaisseaux d'une couleurs puis ceux d'une autre couleur, ...

n°2426
C4H8O3
Posté le 31-03-2004 à 08:42:55  profilanswer
 

c nul çà
 
:,(
 
et en c++ est-ce possible ?


---------------
Aqua Paris
n°2427
CryoGen
Powered by kitkat©
Posté le 31-03-2004 à 11:22:41  profilanswer
 

non je pense pas
 
le mieux tu fais une boucle pour afficher ton tableau


---------------
I am the bone of my sword...
n°2428
C4H8O3
Posté le 31-03-2004 à 11:59:00  profilanswer
 


J'utilise deux boucles for pour afficher mon tableau
le probleme c'est que tout les elements n'ont pas la même couleur
textcolor() et cprintf("" ) n'affiche tout de la même couleur
 
 
voilà un exemple de ce que je veux faire
(afficher les chiffres et les lettres... j'y arrive, c juste les etoiles de couleurs le probleme)
 
http://c4h8o3.free.fr/bne.jpg
 
 


---------------
Aqua Paris
n°2429
ced-2k
TODO : Insert text here.
Posté le 31-03-2004 à 16:52:00  profilanswer
 

hé bien tu met ton textcolor a l'intérieur des deux boucles...
avec un IF pour passer la bonne valeur de couleur au textcolor

n°2430
CryoGen
Powered by kitkat©
Posté le 31-03-2004 à 17:34:02  profilanswer
 

ou alors tu utilises gotoxy() pour bouger ton curseur là où tu veux ecrire


---------------
I am the bone of my sword...
n°2431
C4H8O3
Posté le 31-03-2004 à 22:45:00  profilanswer
 

Les etoiles de même couleur sont alignés en vertical ou horizontal (jamais en diagonale)
 
a chaque nouvelle partie leur place change !
 
bah çà fait 3 jours que j'essaye de trouver une "bonne" condition pour mes if mais bon je cherche je cherche et ne je trouve pas


---------------
Aqua Paris
n°2436
CryoGen
Powered by kitkat©
Posté le 01-04-2004 à 13:45:33  profilanswer
 

il est comment ton tableau exactement ?
 
EDIT :
J'ai lu qu'il y'avait 2 boucle for donc je suppose que c'est une matrice...
 
Tu pourrai mettre un code pour chaque bateau au lieu d'un asterisque dans la matrice , ensuite tu affiche bien * mais tu teste le code pour la couleur


Message édité par CryoGen le 01-04-2004 à 13:51:25

---------------
I am the bone of my sword...
n°2437
C4H8O3
Posté le 01-04-2004 à 14:10:21  profilanswer
 

CryoGen a écrit :

il est comment ton tableau exactement ?
 
EDIT :
J'ai lu qu'il y'avait 2 boucle for donc je suppose que c'est une matrice...
 
Tu pourrai mettre un code pour chaque bateau au lieu d'un asterisque dans la matrice , ensuite tu affiche bien * mais tu teste le code pour la couleur

 
 
je pense je vais mettre un indicateur pour chaque bateau
Dans ma boucle je vais voir a quoi correspond cet indicateur et changer la valeur du textcolor() et a chaque fin d'impression remettre l'indicateur à "zero" pour afficher une * blanche
 
 
je ne sais pas si j'étais très clair mais me suis compris
je vais essayer çà ce weekend


Message édité par C4H8O3 le 01-04-2004 à 14:11:20

---------------
Aqua Paris
n°2447
Deather2
OpenBSD: the way to go!
Posté le 04-04-2004 à 10:52:24  profilanswer
 

Je tente de t'aider :
 

Code :
  1. #include <stdio.h>
  2. #include <conio.h> // perso je dois mettre conio.c avec devc++
  3. int tab[9][9]={
  4. {0,0,0,0,0,0,0,0,0},
  5. {0,0,0,0,0,0,0,0,0},
  6. {0,0,0,0,0,0,0,0,0},
  7. {0,0,0,0,0,0,0,0,0},
  8. {0,0,0,0,0,0,0,0,0},
  9. {0,0,0,0,0,0,0,0,0},
  10. {0,0,0,0,0,0,0,0,0},
  11. {0,0,0,0,0,0,0,0,0},
  12. {0,0,0,0,0,0,0,0,0}}; // Ici tu met les valeurs que tu veux
  13. #define BLUE 1
  14. #define GREEN 2
  15. #define RED 4
  16. #define YELLOW 6
  17. #define WHITE 7
  18. void main()
  19. {
  20.      int xtab=0,ytab=0;
  21.      for(xtab=0;xtab<9;xtab++)
  22.      for(ytab=0;ytab<9;ytab++)
  23.      {
  24.              switch(tab[xtab][ytab])
  25.              {
  26.                  case BLUE:
  27.                    gotoxy(xtab,ytab);
  28.                    textcolor(BLUE);
  29.                    printf("*" );
  30.                
  31.                  case GREEN:
  32.                    gotoxy(xtab,ytab);
  33.                    textcolor(GREEN);
  34.                    printf("*" );
  35.                
  36.                 case YELLOW:
  37.                    gotoxy(xtab,ytab);
  38.                    textcolor(YELLOW);
  39.                    printf("*" );
  40.                
  41.                 case RED:
  42.                    gotoxy(xtab,ytab);
  43.                    textcolor(RED);
  44.                    printf("*" );
  45.                
  46.                 case WHITE:
  47.                    gotoxy(xtab,ytab);
  48.                    textcolor(WHITE);
  49.                    printf("*" );
  50.               }
  51. }


 
J'ai pas testé mais je pense que sa devrait marcher :)


Message édité par Deather2 le 04-04-2004 à 10:55:07
n°2453
C4H8O3
Posté le 05-04-2004 à 08:26:50  profilanswer
 

je vais essayer çà dans la journée
merci


---------------
Aqua Paris
n°2454
Deather2
OpenBSD: the way to go!
Posté le 05-04-2004 à 09:36:24  profilanswer
 

Pas de problemes, il y'a de l'optimisation à faire mais c'est pour que tu comprenne ;) là le tableau se dessine colonne par colonne, si tu veux changer, inverste xtab et ytab dans les for ;)

n°2455
C4H8O3
Posté le 05-04-2004 à 09:54:57  profilanswer
 

:jap:


---------------
Aqua Paris
mood
Google
Posté le 05-04-2004 à 09:54:57  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade