Move the text 2 effets de textes turbo c++2 devc++4

Description

EFFETS DE TEXTES AFFICHER LE MENU AUTREMENT

Source / Exemple :


/* debut move texte2
  PROGRAMME EN C SOUS DOS TURBO C++ devc++4
  ecrit le 16-03-2002 par cmarsc
  MOUVE TEXTE2 */
            
#include <stdio.h>
#include <conio.h>       /* devc++4 <conio.c> */
#include <stdlib.h>
#include <time.h>         
#include <dos.h>         

/* mettre 150 pour devc++4 */
#define VITESSE_D_AFFICHAGE 500

#define KEY_ESC 27           /* touche ESC */

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

void effet1_haut_bas(int col, int ligne_depart,int ligne_fin);
void effet1_bas_haut(int col, int ligne_depart,int ligne_fin);

void effet2_haut_bas(int col, int ligne_depart,int ligne_fin);
void effet2_bas_haut(int col, int ligne_depart);

/* supprimer les points ....... en mode superposition car la mise */
/* en ligne du code ne traite pas bien les espaces */

char *menu[] = {
	"..............................................",
	"Û..........ÛÛÛÛÛÛÛÛ.....ÛÛÛÛÛÛÛÛÛ.....ÛÛÛÛÛÛÛÛ",
	"Û..........Û......Û.........Û.........Û......Û",
	"Û..........Û......Û.........Û.........Û......Û",
	"ÛÛÛÛÛÛ.....ÛÛÛÛÛÛÛÛ.........Û.........ÛÛÛÛÛÛÛÛ",
	"..............................................",

};    

int main(void) {

	char votre_choix;

	clrscr();
    /* supprimer le curseur clignotant <conio.h> */
	_setcursortype(_NOCURSOR);   

	gotoxy(15,25);
	textcolor(LIGHTCYAN);
	cprintf("TAPER UN CHIFFRE ENTRE 1 et 4   ESC pour sortir ");

    srand( (unsigned) time(NULL) );
	while(1) {	/* TAPER ESC POUR SORTIR */

		votre_choix = getch();

		do {
		textcolor(rand() % (15) + 1 );  /* changer aleatoirement la couleur */
		ralentir();
		ralentir();
		switch (votre_choix) {

		case '1' :

			/* colonne = 15   ligne_depart = 1   ligne_fin = 24 */
			effet1_haut_bas(15, 1, 24);    		/* degoulinant_haut_bas */
		break;

		case '2' :

			/* colonne = 15   ligne_depart = 24  ligne_fin = 1 */
			effet1_bas_haut(15,24,0);    		/* degoulinant_bas_haut */

		break;
		case '3' :
			/* colonne = 15   ligne_depart = 1   ligne_fin = 23 */
			effet2_haut_bas(15,1,23);    	/* decouper_haut_bas */
		break;

		case '4' :
			/* colonne = 15   ligne_depart = 23  ligne_fin = 1 */
			effet2_bas_haut(15,23);   	/* decouper_haut_bas */
		break;

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

			votre_choix = '1'; /* choix par defaut */

		break;
		}

		} while (!kbhit());

	} /* fin de while(1) */

/* return EXIT_SUCCESS; */

} /* 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 effet1_haut_bas(int col, int ligne_depart,int ligne_fin) {

	int i1, i2;
	/* nbre d'elements dans le menu */
	int max_menu = sizeof(menu) / sizeof(menu[0]);

	for (i1 = 0; i1 < max_menu; ++i1) {

		for (i2 = 0; (ligne_depart +i2) < ligne_fin - i1 ; ++i2) {
			gotoxy(col,ligne_depart + i2);
			cprintf("%s",menu[ (max_menu-1) - i1]);
			ralentir();

		}
	}
return ;
}

void effet1_bas_haut(int col, int ligne_depart,int ligne_fin) {

	int i1, i2;
	/* nbre d'elements dans le menu */
	int max_menu = sizeof(menu) / sizeof(menu[0]);

	for (i1 = 0; i1 < max_menu; ++i1) {

		for (i2 = 0; (ligne_fin +i2) < (ligne_depart - i1) ; ++i2) {

			gotoxy(col, ligne_depart - i2);
			cprintf("%s",menu[i1]);
			ralentir();
		}
	}
return ;
}

void effet2_haut_bas(int col, int ligne_depart,int ligne_fin) {

	int i1, i2;

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

	for (i1 = 0; i1 < max_menu ; ++i1) {

		for (i2 = 0; i2 < ligne_fin - i1 ; ++i2) {

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

			ralentir();

			gotoxy(col,ligne_depart + i2);
			cprintf("%s",menu[0]);     /* ligne vide */   
		}
	}
 return ; 
}

void effet2_bas_haut(int col, int ligne_depart) {

	int i1, i2;
	/* nbre d'elements dans le menu */
	int max_menu = sizeof(menu) / sizeof(menu[0]);

	for (i1 = 0; i1 < max_menu ; ++i1) {

		for (i2 = 0; i2 < ligne_depart - i1 ; ++i2) {

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

			ralentir();

			gotoxy(col,ligne_depart+1 - i2);
			cprintf("%s",menu[0]);     /* ligne vide */

		}
	}

return ;
}

Conclusion :


// PROGRAMME EN C SOUS DOS TURBO C++ DEV C++4
// ecrit par cmarsc

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.