Triangle de Pascal C) en couleurs sur console

Description

Bonjour,

Voici un affichage en couleurs sur la console du triangle de pascal, basé sur l'article CodeS-SoureS "Console en couleur sans caractères".

Le code utilise la structure:
struct TrianglePascal {
  short N;
  unsigned int *val=0;
  unsigned short *att;

  TrianglePascal(short nL) {
    N=nL;
    att=new unsigned short[N+1];
    val=new unsigned int[(N+1)*(N+2)/2];
    val[0]=val[1]=val[2]=1;
    for (int n=2,i=0,I,k=3; n<=N; ++n) {
      val[k++]=1;
      for (I=(i++)+n; i<I; ++i) val[k++]=val[i]+val[i+1];
      val[k++]=1;
    }
  }

  ~TrianglePascal() {if (val) {delete val; delete att;}}

  void Paint(HANDLE hOut,short m,unsigned short *clr) {
    char tit[256];
    sprintf_s(tit,"Triangle de Pascal, N = %i, Modulo: %i",N,m);
    SetConsoleTitle(tit);
    for (short n=0,k=0; n<=N; ++n) {
      for (short i=0; i<=n; ++i) att[i]=clr[val[k++]%m];
      unsigned long na;
      WriteConsoleOutputAttribute(hOut,att,n+1,{1,n+1},&na);
    }
  }
};
On remarque que les attributs sont définis ligne par ligne.

Dans la fonction main(), modifiez N, le "modulo" m ainsi que color[] pour obtenir d'autres images:
- m <= 15.
- color[] doit contenir au moins m éléments.
- ces éléments doivent être des multiples de 16 entre 0 et 240 (voir CouleursFond.jpg).

Bonne lecture ...
 
 

Liens

WikipédiA: Triangle de Pascal
WikipédiA: Triangle de Sierpiński
CodeS-SourceS: Triangle de Pascal A) Simple calcul et affichage sur console
CodeS-SoureS: Triangle de Pascal B) Modulo et Sierpiński
CodeS-SoureS: Console: dimension et fonte
CodeS-SoureS: Console en couleur sans caractères

Codes Sources

A voir également

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.