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

Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 20 avril 2006 à 18:27 - Dernière réponse :
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 13:21
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 !!!!!!!!!!!!!!!!!!!!!!
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
27 février 2011
- 20 avril 2006 à 19:25
3
Merci
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();
}

Merci Spoolega 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de Spoolega
Meilleure réponse
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
27 février 2011
- 20 avril 2006 à 23:15
3
Merci
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 ??...

Merci Spoolega 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de Spoolega
Meilleure réponse
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 13:21
3
Merci
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!!!

Merci florian1121 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 20 avril 2006 à 19:34
0
Merci
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!!
Commenter la réponse de florian1121

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.