Bonjour,
voilà je dois créer un jeu et pour cela j'ai à detecter l'enfoncement de touches du clavier.
je ne veut pas faire de scanf car il faut que le programme continue de tourner.
j'ai trouvé ce code dans la FAQ qui à l'air de bien correspondre à ce que je cherche mais j'avoue avoir quelques soucis pour l'utiliser![]()
premièrement en faisant un simple copier coller et en compilant j'ai plusieurs erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 #include <conio.h> int main(void) { int touche; for (;;) { touche = -1; /* pas de touche */ if (kbhit()) { /* Si présence d'une touche... */ touche = getch() ; /* ... la lire */ if (touche == 0) { /* Si touche double code... */ touche = getch() ; /* ... la lire */ switch(touche) /* ... et effectuer le traitement */ { case FLG: /* Fleche Gauche (0x4B) */ // Traîtement break ; case FLD: /* Fleche Droite (0x4D) */ // Traîtement break ; case FLH: /* Fleche Haute (0x48) */ // Traîtement break ; case FLB: /* Fleche Basse (0x50) */ // Traîtement break ; } ; } else { if (c == ESC) /* test de sortie */ break; switch(touche) { case '1' : // Traîtement break ; case '2' : // Traîtement break ; case '3' : // Traîtement break ; } ; } } /* Ici votre programme... */ } return 0; }
il me dit qu'il ne connait pas FLG dans la ligne " case FLG: " ce qui est normal... je suppose donc que j'ai à remplacer par " case :0x4B " ? (oui/non?)
de meme pour les autres touches.
ensuite cette ligne là :
c'est par exemple si l'utilisateur veut quitter le programme on detecter s'il enfonce la touche esc? (je dois donc aussi remplacer ESC par son code comme pour les fleches je suppose?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (c == ESC) /* test de sortie */
enfin que fait cette ligne?
c'est une boucle for infinie?
Code : Sélectionner tout - Visualiser dans une fenêtre à part for (;;)![]()
voilà déjà les réponses à ces premieres questions m'eclaiciront bien (et je reviendrais avec d'autres)
merci d'avance.
Partager