Projection laterale en diagonale du texte mode graphique turbo c++

Soyez le premier à donner votre avis sur cette source.

Vue 3 874 fois - Téléchargée 176 fois

Description

// EFFET : PROJECTION LATERALE EN DIAGONALE DU TEXTE MODE GRAPHIQUE
// ecran 639 sur 479

Source / Exemple :


//  PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
//  ecrit le 08-07-2002 par cmarsc
//  EFFET : PROJECTION LATERALE EN DIAGONALE DU TEXTE MODE GRAPHIQUE
// ecran 639 sur 479

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>

#define MAX_TAILLE 10

char *menu_noms[] = {

  "isabelle","pierre", "olivier","jean-marc",
  "anne","christine","roger","aline","justine","edouard",
  "christopher","bernardette","louis","anne-sophie",NULL
};

int main(void)
{

   int gdriver = DETECT, gmode, errorcode;
   int hauteur_texte;
   int i1,i2,i3,coul_texte;

   initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
   errorcode = graphresult();
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
	  getch();
	  exit(1);
   }

do {

   // choisir la couleur du texte en avant plan
   coul_texte =  (rand() %15)+1;

   for (i1 = 1; i1 < MAX_TAILLE; i1++)  {

	  settextstyle(SMALL_FONT, HORIZ_DIR, i1);

	  hauteur_texte = 0;
	  for (i2 = 0; menu_noms[i2] != NULL; i2++) {

		   // creer un decalage (i2 * 7) entre les textes puis
		   // le supprimer pour qu'ils soient tous alignes
		   i3 = (i1 < MAX_TAILLE-1) ? (i2*7) : 0;

		   // (i1 * 20) = deplacement vers la droite
		   // (i2 * 10) = deplacement vers le bas
		   // effet d'ombre coloree
		   setcolor(coul_texte);
		   outtextxy(21+i3+(i1*20), 102 + hauteur_texte-(i2*10), menu_noms[i2]);

		   // texte avant plan
		   setcolor(BLACK);
		   outtextxy(19+i3+(i1*20), 100 + hauteur_texte-(i2*10), menu_noms[i2]);

		   // espace entre chaque ligne
		   hauteur_texte += textheight(menu_noms[0]);

	  }
	  // temps d'attente entre chaque progression du texte
	  delay(45);

	  // effacer l'ecran
	  if (i1 < MAX_TAILLE - 1) {
		  setfillstyle(1, LIGHTBLUE);
		  bar (1,1,getmaxx(),getmaxy());
	  }
   }
   // attente d'une seconde
   delay(1000);
} while (!kbhit());

   closegraph();
   return 0;
} // fin de main

Conclusion :


// PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
// ecrit le 08-07-2002 par cmarsc
// EFFET : PROJECTION LATERALE EN DIAGONALE DU TEXTE MODE GRAPHIQUE
// ecran 639 sur 479

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.