Détection Touche

ChAnGy59 Messages postés 10 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 - 13 nov. 2007 à 14:28
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 13 nov. 2007 à 22:06
Bonjour à tous, dans le cadre d'un projet j'ai quelque question a vous poser car j'ai essayé beaucoup de chose , malheuresement sans résultat. Voici mon probleme, je dois pouvoir detecter une touche de "mouvement" c'est a dire que je dois utiliser les touches zqsd pour me déplacer.
 
Pour etre un peu plus claire:

while ( jappuie sur z)

{il accelere
}

j'ai essayé plusieurs choses comme le khbit mais je n'arrive pas à trouvé la bonne solution.Donc si quelqu'un pourrai m'aider sa serai très gentil.

Ensuite j'ai une deuxieme question pour etre claire le projet est un deplacement d'une voiture en mode console, le probleme c'est que je ne vois pas comment la voiture representer par un "^" une fois par ligne et non pas sur toute la ligne. Voici,je vous remercie d'avance si vous prenez du temps pour m'aider.:D

7 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 nov. 2007 à 14:54
char c;

do {
    while(_kbhit());

    c = _getch();
    printf("%c ", c);
} while(c != 'q');

Pour afficher un caractère à un endroit précis, suffis de te positionner
Utilise
SetConsoleCursorPosition
GetStdHandle

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 nov. 2007 à 15:14
Oups petite erreur:

while(!_kbhit());

C++ (@++)<!--
0
ChAnGy59 Messages postés 10 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007
13 nov. 2007 à 15:38
J'ai un petit probleme ou alors je me suis mal exprimé enfaite la route bouge constament mais je voudrai que quand j'appuie sur "z" elle va encore plus vite voila. Merci
0
ChAnGy59 Messages postés 10 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007
13 nov. 2007 à 16:04
Excusez moi je me suis trompé c'est pas un while que je voulais faire mais un test

if ( jappuie sur z )

{ sa me change une variable que j'utiliserai dans une autre boucle }
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 nov. 2007 à 17:41
C'est un exemple. Pas bien compliqué de le transformer:

while(1) {
    while(_kbhit()) {
       // Ici tu effectue l'affichage et autre
       // en attendant l'appuis sur une touche
    }

    switch(_getch()) {
    case 'z':
       // on accelère
       break;
    case 'q':
       // on ralentie
       break;
    // etc. etc.
    }

}

C++ (@++)<!--
0
ChAnGy59 Messages postés 10 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007
13 nov. 2007 à 18:33
Les case fonctionnent a merveille mais concernant laffichage ce ne marche pas je veux dire que je voudrai tout simplement par exemple mettre une boucle while qui maffiche toujours "bonjour" toujours avec ces cases c'est formidable !!!!
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 nov. 2007 à 22:06
J'ai refais la même erreur:

while(!_kbhit()) {
}

C++ (@++)<!--
0
Rejoignez-nous