(-:fonction tableau en mode texte![dev c++]

0/5 (3 avis)

Snippet vu 7 795 fois - Téléchargée 39 fois

Contenu du snippet

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
Ajouter un commentaire Commentaires
mastave Messages postés 53 Date d'inscription samedi 24 novembre 2001 Statut Membre Dernière intervention 25 janvier 2003
28 avril 2002 à 12:53
Cmarsc m'a gentiement envoyé une version plus optimale et commentée de la source.
La voici donc sous sa nouvelle forme.
Merci Cmarsc!!
PS:j'ai fait la source très rapidement, car j'en avais besoin sur le champ.
J'ai donc du faire pas mal de bidouillage mais tu as eu le courage de reprendre ma source et de l'améliorer.Encore merci!!!
mastave Messages postés 53 Date d'inscription samedi 24 novembre 2001 Statut Membre Dernière intervention 25 janvier 2003
25 avril 2002 à 18:32
Je suis monstrueusement désolé, j'avais complètement oublié.
Les voici.
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
17 avril 2002 à 09:31
Salut,

Alors ou sont les bibliotheques, main ETC...???

cordialement.
cmarsc

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.