Effacer ecran avec effets turbo c++2 dos borland

Contenu du snippet

EFFACER L'ECRAN AVEC DES EFFETS
DU HAUT VERS LE BAS ET INVERSEMENT DROITE-GAUCHE GAUCHE-DROITE ET D'AUTRES

SANS LE TRADITIONNEL clrscr();

Source / Exemple :


//  PROGRAMME EN C SOUS DOS TURBO C++ BORLAND
//  ecrit le 09-04-2002 par cmarsc  
//  EFFACER ECRAN

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

// remplace delay si non disponible dans votre bibliotheque
void ralentir(void);

void effacer_ecran_haut_bas(void);
void effacer_ecran_bas_haut(void);
void effacer_ecran_droite_gauche(void);
void effacer_ecran_gauche_droite(void);
void effacer_ecran_50_50(void);
void effacer_ecran_evacuer_vers_haut(void);

int main(void) {

	char votre_choix;

	_setcursortype(_NOCURSOR);    // supprimer le curseur clignotant

	textcolor(15);

	while(1) {			// TAPER ESC POUR SORTIR

	sleep(1);

	// ecran de depart
	textbackground(CYAN);         // fond vert
	clrscr();                     // effacer ecran

	textcolor(YELLOW);            // texte jaune
	gotoxy(15,12);
	cprintf("TAPER UN CHIFFRE ENTRE 1 et 6   ESC pour sortir ");

		votre_choix = getch();

		switch (votre_choix) {

		case '1' :

			effacer_ecran_haut_bas();

		break;

		case '2':
			effacer_ecran_bas_haut();
		break;

		case '3':
			effacer_ecran_droite_gauche();
		break;

		case '4':
			effacer_ecran_gauche_droite();
		break;

		case '5':
			effacer_ecran_50_50();
		break;

		case '6':
			effacer_ecran_evacuer_vers_haut();
		break;

		case 27:	exit(0);			// sortir du programme
		break;
		default:

		break;
		}

	} // fin de while(1)

// return 0;

} // fin de main

void ralentir(void) {
	int i0;
	for (i0 = 0; i0 < 1500; i0++){
		gotoxy(1,1);
		cputs("");
	}
return;
}

void effacer_ecran_haut_bas(void) {
	int i1;
	textbackground(BLACK);
	for (i1 = 0; i1 <= 24; i1++){
		gotoxy(1,1+i1);
		cprintf("%80c",'\0');
		ralentir();
	}
return;
}

void effacer_ecran_bas_haut(void) {

	int i1;
	textbackground(BLACK);
	for (i1 = 0; i1 <= 24; i1++){
		gotoxy(1,25-i1);
		cprintf("%80c",'\0');
		ralentir();
	}
return;
}

void effacer_ecran_droite_gauche(void) {

	int i1, i2;
	textbackground(BLACK);

	for (i1 = 80; i1 > 0; i1--){
		for (i2 = 0; i2 <= 25; i2++){
			gotoxy(i1,1+i2);
			cprintf("%1c",'\0');
		}
		ralentir();
	}
return;
}

void effacer_ecran_gauche_droite(void) {
	int i1, i2;
	textbackground(BLACK);
	for (i1 = 0; i1 <= 80; ++i1){
		for (i2 = 0; i2 <=25; i2++){
			gotoxy(1+i1,1+i2);
			cprintf("%1c",'\0');
		}
		ralentir();
	}
return ;
}

void effacer_ecran_50_50(void) {
	int i1;
	textbackground(BLACK);

	// effacer la 25 eme ligne
	gotoxy(1,25);	cprintf("%80c",'\0');

	for (i1 = 0; i1 <= 12; ++i1){
		// effacer le haut en descendant
		gotoxy(1,1+i1);
		cprintf("%80c",'\0');

		// effacer le bas en remontant
		gotoxy(1,24-i1);
		cprintf("%80c",'\0');
		ralentir();
	}
return ;
}

void effacer_ecran_evacuer_vers_haut(void) {

	int i1;
	textbackground(BLACK);
	for (i1 = 0; i1 <= 32; ++i1){
		gotoxy(1,25);
		cprintf("\n ");
		ralentir();
	}

return ;
}

Conclusion :


// PROGRAMME EN C SOUS DOS TURBO C++ BORLAND
// ecrit le 09-04-2002 par cmarsc
// EFFACER ECRAN

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.