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
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.