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

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

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.