Détécter l'appuit des fleches [Résolu]

Signaler
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
-
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
-
bonjours
il m'est deman der dans le cadre de mes étude de realisé un projet d'informatique! seulement mon tres faible niveau ne me ^permet pas d'y parvenir et le temps presse!!!
je vous en pris aider moi au plus vite!!!!!!!!!!!!

j'aurai besoin d'une fonction qui récupererait l'appuit des fleche du clavier, ce qui permettrait d'augmenté d'une unité une valeur( ex: x=12km/h, "appui de la fleche haut", x=13km/h )
et cela a n'importe quel moment!!
j'aurait egalement besoin d'une fonction qui effecturait un decompte du temps dés le lancement du programme , cela afin de calculer une distance parcourue en fonction de la vitesse et du temps!!!

Voila je vous remercie d'avance d'essayer de m'aider et de me sauver la vie dans les plus bref délais, lol !!!!!!!!!!!!!!!!!!!!!!

4 réponses

Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
Bonjour
Voici déjà un bout de code qui récupère le code ASCII de n'importe quels touches.

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


void main (void)
{
int c;

flushall();
c= getch();
printf("%i ", c);
if(c==0)
{
c= getch();
printf ("%i ", c);
}
getch();
}
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
2
Parfait ca marche tres bien!! a part qu'il faut appuyé 3 fois sur la fleche pour que la variable change, mais ca n'est pas un probleme!! La fonction clrscr() posait probleme mais en la definnissant par la fonction qui récupere le code ascii des touche ca marche!!
Maintenant c la variable de temps qu'il me faut resoudre !!
je sait qu'il faut se servir de la fonction clock() et d'un truc appeller "clock_per_sec" , mais en tournant ca dans tt les sens possible je n'arrive pas a obtenir un decompte du temps dans la console!!! donc si tu a la moindre petite idée pour y arrivée.....
Autres chose, (je suis vraiment debutant...lol) a quoi sert la fonction getch()????

Merci encore, tes réponses m'aide enormement sans quoi je n'y arriverait jamais!!!
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
2
Merci d'avoir repondut si vite !!
C'est deja un debut , j'avait des piste qui parlait du code ascii des touches, comme ca c'est confirmer, merci!!!
Seulement mon plus gros probleme est de relié les code des fleche a l'augmentation ou la diminution de la valeur d'une variable, ou a n'importe quoi d'autre!!
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
Et bien, le plus simple, c'est surement d'utiliser un switch
Du genre:

int variable=0;
char touche;

do{
fflush(stdin);
touche = getch();
clrscr();
printf("%i", variable);

switch(touche)
{
case 72 : /* fleche du haut détectée (valeur ASCII) */
variable += 10; /* augmentation de la variable */
break;

case 80: /* fleche du bas détectée */
variable -= 10;
break;
}
}while(touche!=13); /* tant qu'on appuie pas sur entrée, on boucle */

Je fais ca vite fait, a tester ??...