Excusez moi, je n'est pas mis de commentaires(c'est rare), mais c'est parce que j'ai été obligé de le fairetès rapidement pour un jeu(Sim City 2002(projet en cours au labo)).
Source / Exemple :
int tableau (int x, int y, int nbcasex, int nbcasey, int casex, int casey, int couleur)
{
int boucle;
int boucle2;
textcolor(couleur);
gotoxy(1,1);
cout <<" x " << x << " y " << y << " NBRE casex " << nbcasex << " NBRE casey " << nbcasey;
cout << " casex " << casex << " casey " << casey;
// traits horizontaux
for (boucle = 1; boucle <= nbcasey + 1; boucle++)
{
gotoxy(x, y + (casey * (boucle - 1)));
caractere_repet (205, nbcasex * casex);
}
x--;
for (boucle = 1; boucle <= nbcasex + 1; boucle++)
{
// traits verticaux
caractere_repetlm (186, (nbcasey * casey) + 1, x + (casex * (boucle - 1)), y+1);
if (boucle < nbcasex)
{
// dessiner caratere d'intersection du haut
gotoxy(x + (casex * boucle - 1) + 1, y);
caractere(203);
// dessiner caratere d'intersection du bas
gotoxy(x + (casex * boucle - 1) + 1, y + (casey * nbcasey));
caractere(202);
}
}
// dessiner les caracteres de croisements gauche milieu et droit
for (boucle = 2; boucle <= nbcasey; boucle++)
{
// caractere d'intersection ouvrant gauche
gotoxy(x , y + (casey * (boucle - 1)));
caractere(204);
for (boucle2 = 1; boucle2 <= nbcasex - 1; boucle2++)
{
// caractere de croisement milieu
gotoxy(x + (casex * boucle2), y + (casey * (boucle - 1)));
caractere(206);
}
// caractere d'intersection fermant droit
gotoxy(x + (casex * boucle2) , y + (casey * (boucle -1 )));
caractere(185);
}
gotoxy(x, y);
caractere(201); // coin superieur gauche
gotoxy(x, y + (nbcasey * casey));
caractere(200); // coin inferieur gauche
gotoxy(x + (nbcasex * casex), y + (nbcasey * casey));
caractere(188); // coin inferieur droit
gotoxy(x + (nbcasex * casex), y);
caractere(187); // coin superieur droit
return 0;
}
void caractere (int cara)
{
cout << char (cara); // convertir int en char
return ;
}
//répète un cara(caractère) ASCII en "nombre" fois a partir d'un position ("x", "y") définie
void caractere_repetlm(int cara, int nombre, int x, int y)
{
int nombre2 = 1;
while (nombre2 != (nombre-1))
{
gotoxy(x, y);
cout << char (cara); // convertir int en char
nombre2++;
y++;
}
}
//répète un "cara"(caractère) ASCII en "nombre" fois.
// traits horizontaux
void caractere_repet(int cara, int nombre)
{
int nombre2 = 1;
while (nombre2 != nombre)
{
cout << char (cara); // convertir int en char
nombre2++;
}
}
Conclusion :
x, y:emplacement du tableau
casex, casey : grandeur des cases
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.