Effet_aller_retour du texte turbo c++ 2 dos devc++ 4

Contenu du snippet

FAIRE APPARAITRE LE TEXTE ET LE FAIRE DISPARAITRE

Source / Exemple :


//  PROGRAMME EN C SOUS DOS TURBO C++2 devc++4
//  ecrit le 18-04-2002  par cmarsc  
//  effet_aller_retour du texte

#include <stdio.h>
#include <string.h>
#include <conio.h>     // <conio.c>   devc++4
/* mettre 300 pour devc++4 */
#define VITESSE_D_AFFICHAGE 1500

#define KEY_ESC 27           /* touche ESC */

/* peut etre remplacee par sleep ou delay */
void ralentir(void);

void effet_aller_retour(int col_depart,int col_fin, int ligne_depart);

char *menu[] = {
	"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",
	"³ 1 Descendre le texte....................³",
	"³ 2 Monter le texte.......................³",
	"³ 3 Aller de gauche a droite..............³",
	"³ 4 Aller de droite a gauche..............³",
	"³ 5 Diagonale haut gauche vers bas droit..³",
	"³ 6 Diagonale haut droit vers bas gauche..³",
	"³ 7 Diagonale bas gauche vers haut droit..³",
	"³ 8 Diagonale bas droit vers haut gauche..³",
	"³ 9 Afficher le menu principal............³",
	"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´",
	"³ ESC FIN DU PROGRAMME....................³",
	"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"
};

int main(void) {

	//textbackground(BLACK);            // fond noir
	clrscr();

	// supprimer le curseur clignotant
	_setcursortype(_NOCURSOR);
	textcolor(LIGHTGREEN);	// texte vert_claire

gotoxy(1,1);
cprintf(" si c'est trop lent ou trop rapide modifier VITESSE_D_AFFICHAGE");

	gotoxy(30, 3);
	cprintf("TAPER  ESC pour sortir ");

		do {

			textcolor(LIGHTCYAN);    // couleur turquoise

			// colonne depart = 37  colonne fin  = 15  ligne depart = 4
			effet_aller_retour(37,15, 4);

		} while (!kbhit());

return 0;

} // fin de main

void ralentir(void) {
	int i0;
	for (i0 = 0; i0 < VITESSE_D_AFFICHAGE; ++i0) {
        gotoxy(1,1);
		cprintf("%1c",'\0');
	}
} /* fin de ralentir */

void effet_aller_retour(int col_depart,int col_fin, int ligne_depart) {
	int i1, i2;

	// nbre d'element dans le menu
	int max_menu = sizeof(menu) / sizeof(menu[0]);

		// faire sortir le menu vers la droite
		for (i2 = 0; i2 <= strlen(menu[0]) ; ++i2) {
			for (i1 = 0; i1 < max_menu ; ++i1) {

			gotoxy(col_depart,ligne_depart + i1 );
			cprintf( "%1s", strlen(menu[i1])+ menu[i1] -i2);

			}
			ralentir();       // ralentir l'effet
		}

	ralentir();       //  temps d'attente

		// deplacer le menu vers la gauche
		for (i2 = 0; col_depart-i2 >= col_fin ; ++i2) {
			for (i1 = 0; i1 < max_menu ; ++i1) {

			gotoxy(col_depart-i2,ligne_depart + i1 );
			cprintf( "%1s ", menu[i1] );

			}
			ralentir();       // ralentir l'effet
		}

	ralentir();       // temps d'attente

		// faire repartir le menu
		for (i2 = 0; i2 <= strlen(menu[0]) ; ++i2) {
			for (i1 = 0; i1 < max_menu ; ++i1) {

			gotoxy(col_fin ,ligne_depart + i1 );
			cprintf("%s ",menu[i1] + i2);

			}
			ralentir();       // ralentir l'effet
		}

return ;

} // fin de la fonction effet_aller_retour

Conclusion :


// PROGRAMME EN C SOUS DOS TURBO C++2 devc++4
// ecrit le 18-04-2002 par cmarsc
// effet_aller_retour du texte

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.