Direction du curseur turbo c++ dev c++4

Contenu du snippet

Ce code vous indique la direction du curseur lorque les touches de directions sont préssées et rend visuel les différents changements

Source / Exemple :


//  PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND ET DEV C++4
//  ecrit le 12-06-2002 par cmarsc  
//  direction du curseur

#include <stdio.h>
#include <conio.h>    // devc ++4 <conio.c>
#include <stdlib.h>

#define ESC        27   //  TOUCHES DU CLAVIER
#define UP         72
#define LEFT       75
#define RIGHT      77
#define DOWN       80

void touches_clavier();

int   col1[10000];
int ligne1[10000];

enum direction_prise { MONTER, DESCENDRE, DROITE, GAUCHE };

char *menu[] = {
	"Monter........",
	"Descendre.....",
	"Vers la droite",
	"Vers la gauche"
};

int main(void) {

	clrscr();          // effacer ecran
	touches_clavier();
	return 0;
}

void touches_clavier() {

	char touche_pressee;
	static int col , ligne;
	int direction;	   // donner la direction prise
	int direction_prec;        // direction precedente
 
	int couleur;	   // changer la couleur du curseur
 
	int compter1;      // compter le nombre de fois  qu'une
	int compter2;      // touche est pressee (suivre le curseur)

	col = ligne = 1;           // initialiser col et ligne a 1
	direction = 1;
	direction_prec = direction;
 
	couleur = 9;
	compter1 = 0;
	compter2 = 0;

	
while (1) {

		if (col > 80) col = 80;         // colonne maxi
		if (col <= 0) col =  1;         // colonne mini

		if (ligne > 24)  ligne = 24;    // ligne maxi
		if (ligne <= 0)  ligne = 1;     // ligne mini

		gotoxy(1 , 25);
        textcolor (LIGHTGREEN);
		cprintf("col %2d  ligne %2d  %s",col,ligne ,menu[direction]);
  
        // changer la couleur du curseur si une autre direction prise
        if (direction != direction_prec) couleur = (rand() % (15))+1;

       
		col1[compter1] = col;  // infos sur les deplacements du curseur
		ligne1[compter1] = ligne;

		if (compter2)  {
			textcolor (BLACK);   // suivre les traces du curseur visible
			gotoxy(col1[compter2-1],ligne1[compter2-1]);
			cprintf("%c",219);     // curseur invisible
		}

		compter2 = compter1 - 50; // decalage de 50 deplacements

		textcolor (couleur);
		gotoxy(col,ligne);  
		cprintf("%c",219);        // curseur visible
  
        direction_prec = direction; 
        
		touche_pressee = getch();

		switch(touche_pressee) {
		case UP:
			--ligne;			
			direction = MONTER;
		break;

		case DOWN:
			++ligne;			
			direction = DESCENDRE;
		break;

		case RIGHT:
			++col;		   
			direction = DROITE;  // aller a droite
		break;

		case LEFT:
			--col;		   
			direction = GAUCHE;   // aller a gauche
		break;

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

		default:
		++compter1;   //compter les touches
		break;

		} // fin de switch

	} // fin de while(1)

return ;
} // fin de la fonction touches_clavier

Conclusion :


// PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND ET DEV C++4
// ecrit le 12-06-2002 par cmarsc
// direction du curseur

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.