Gestion du clavier

Myts Messages postés 2 Date d'inscription mardi 12 mars 2002 Statut Membre Dernière intervention 15 mars 2002 - 12 mars 2002 à 21:42
Myts Messages postés 2 Date d'inscription mardi 12 mars 2002 Statut Membre Dernière intervention 15 mars 2002 - 15 mars 2002 à 12:31
Salut

Je programme sous TC++ (turbo c++) sous dos.
Et j'ai un probleme concernant la gestion du clavier.
Mon jeux, prochainement sur ce site, doit effectuer certain test en fonction de la touche pressé par le joueur. Mais si le joueur ne touche rien, le programme doit continuer a tourner, les ennemi doivent continuer leur parcour et tout.

La fonction permettant de tester la pression eventuelle d'une touche est kbhit() dans conio.h
Je sais utiliser getch() mais cette derniere attend obligatoirement une touche.

Mon probleme c'est que je n'arrive pas a trouver le code des touche du clavier qui ne sont apparament pas les meme pour kbhit()

Le petit pgm que j'ai fais pour tester la fonction :

int a;
do{a=kbhit();}
while(!kbhit());
cout<<"numero de la touche pressée: "<<a<<"\n";

quelquesoit la touche pressée, j'obtient toujours a=0.

Je pense que j'ai besoin d'un petit coup de main !

Merci !

2 réponses

TheRod23 Messages postés 69 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 15 mars 2004
13 mars 2002 à 00:38
Salut

Kbhit si j'ai bon souvenir ne sert juste a savoir si une touche a etait pressée donc il retour true ou false si tu veux connaitre la touche pressée et vider le buffer de touche il faut que tu fasse un getch() imédiatement derriere.

ps il n'y aurra pas d'arrêt pour le getch() car un carractére et dans le tampon

ex de code
char cKey;

do
{
....
}
while(!kbhit());

cKey = getch();
0
Myts Messages postés 2 Date d'inscription mardi 12 mars 2002 Statut Membre Dernière intervention 15 mars 2002
15 mars 2002 à 12:31
Je te remercie, je vais tester desuite.

Merci bcp.
0
Rejoignez-nous