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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 435 fois - Téléchargée 37 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

A voir également

Ajouter un commentaire

Commentaires

mastave
Messages postés
53
Date d'inscription
samedi 24 novembre 2001
Statut
Membre
Dernière intervention
25 janvier 2003
-
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
-
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
-
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.