bonjour,
j'aimerais faire un menu avec getch, mais j'ai un petit probleme lorsque j'appuie sur la touche enter !

en gros mon menu propose differents choix :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
  >>>  jouer
         scores
         regle
         quitter
en appuyant sur les fleches haut et bas, les ' >>> ' se deplace dans les menu :après avoir appuyé sur bas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
         jouer
 >>>  scores
         regle
         quitter
j'aimerais que lorsque j'appuie sur la touche enter, mon choix se valide, et lance la fonction approprié
Donc si le curseur est sur jouer, que j'appuie sur enter, alors que le programme lance la fonction de jeu !!

MAIS, quand je veux valider, je suis obligé d'appuyer 2 fois sur la touche enter pour que ça fonctionne si j'appuie une fois, puis que j'appuie sur une autre touche, rien ne se passe... je ne comprends pas !!

Je vous met mon code, désolé pour l'alignement, mais je ne sais pas bien comment bien aligner !

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
 
int ChoixMenu()
{
  int x=7,y=9,quitter=0;
  gotoxy(x,y);
  textbackground(12);
  textcolor(10);
  printf(">>>");
  int ch=getch();
  while(ch!=32){
                if(ch==0 || ch==224){
                                     ch=getch();
                                     switch(ch){
                                                case 72:if(y==17){
                                                                 gotoxy(x,y);
                                                                 printf("   ");
                                                                 y=15;
                                                                 gotoxy(x,y);
                                                                 printf(">>>");
                                                                 }
                                                        else{
                                                             if(y==15){
                                                                 gotoxy(x,y);
                                                                 printf("   ");
                                                                 y=13;
                                                                 gotoxy(x,y);
                                                                 printf(">>>");
                                                                 }
                                                              else{
                                                                   if(y==13){
                                                                      gotoxy(x,y);
                                                                      printf("   ");
                                                                      y=11;
                                                                      gotoxy(x,y);
                                                                     printf(">>>");
                                                                     }
                                                              else{
                                                                   if(y==11){
                                                                       gotoxy(x,y);
                                                                       printf("   ");
                                                                       y=9;
                                                                       gotoxy(x,y);
                                                                       printf(">>>");
                                                                             }
                                                                  else{
                                                                       gotoxy(x,y);
                                                                       printf("   ");
                                                                       y=17;
                                                                       gotoxy(x,y);
                                                                       printf(">>>");
                                                                      }
 
                                                                   }
 
                                                              }
                                                             }
                                                     break;
                                                case 80:if(y==9){
                                                                 gotoxy(x,y);
                                                                 printf("   ");
                                                                 y=11;
                                                                 gotoxy(x,y);
                                                                 printf(">>>");
                                                                 }
                                                        else{
                                                             if(y==11){
                                                                 gotoxy(x,y);
                                                                 printf("   ");
                                                                 y=13;
                                                                 gotoxy(x,y);
                                                                 printf(">>>");
                                                                 }
                                                              else{
                                                                   if(y==13){
                                                                      gotoxy(x,y);
                                                                      printf("   ");
                                                                      y=15;
                                                                      gotoxy(x,y);
                                                                     printf(">>>");
                                                                     }
                                                              else{
                                                                   if(y==15){
                                                                       gotoxy(x,y);
                                                                       printf("   ");
                                                                       y=17;
                                                                       gotoxy(x,y);
                                                                       printf(">>>");
                                                                             }
                                                                  else{
                                                                       gotoxy(x,y);
                                                                       printf("   ");
                                                                       y=9;
                                                                       gotoxy(x,y);
                                                                       printf(">>>");
                                                                      }
 
                                                                   }
 
                                                              }
                                                             }
                                                     break;
                                                }
                                     }
                 ch=getch();
                }
  textbackground(0);
  textcolor(7);
  return(y);
}
gotoxy permet de placer mon curseur à l'endroit ou je veux dans ma fenetre.
le 2eme getch permet de recuperer la valeur de la touche "fleche" étant donné qu'elle renvoie comme premier caractere 0 ou 224

Merci d'avance, je galere depuis ce matin en faisant plein de test sans rien comprendre..