Comment lire la console.
Résolu
toufeux
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voici mon problème : j'ai coder un sélecteur en mode console qui utilise les flèches directionnelle, jusqu'ici pas de problème. Le problème survient lorsque je veux "sélectionner" une case du sélecteur, je ne vois pas comment faire
voici ce que j'ai commencé :
voici mon problème : j'ai coder un sélecteur en mode console qui utilise les flèches directionnelle, jusqu'ici pas de problème. Le problème survient lorsque je veux "sélectionner" une case du sélecteur, je ne vois pas comment faire
voici ce que j'ai commencé :
int selecteur() /*interface dynamique*/ { /* =============variable============= */ std::string vide (" "), indicateur("0"); int yx(1); /* sert pour faire monter descendre l'indicateur*/ /* =============variable============= */ system ("cls"); gotoxy(1,yx); std::cout<< "0|Jeu des allumettes"; yx++; gotoxy(1,yx); std::cout<< " |Pas encore decider"; yx = 1; for(;;) { int saisieTouche; saisieTouche = getch(); if (saisieTouche == 224) // si on utilise les flèches. { saisieTouche = getch(); } if (saisieTouche == KEY_DOWN) //faire descendre le curseur. { gotoxy(1,yx); std::cout<< " \r"; yx++; gotoxy(1,yx); std::cout<< "0\r"; } else if (saisieTouche == KEY_UP) //faire monter le curseur. { gotoxy(1,yx); std::cout<< "0\r"; yx++; gotoxy(1,yx); std::cout<< " \r"; } /* CASE OU JE NE SAIS PAS COMMENT FAIRE*/ else if (saisieTouche == KEY_ENTER || 77) { if ("0|Jeu des allumettes") { mainAllumettes(); } if (" |Jeu des allumettes") { std::cout<< "caca boudin"; } } /* CASE OU JE NE SAIS PAS COMMENT FAIRE*/ yx = 1; } return 0; }
A voir également:
- Comment lire la console.
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire epub - Guide
- Comment lire un message supprimé sur whatsapp - Guide
- Lire fichier bin - Guide
- Lire iso - Guide
2 réponses
Déjà faire une structure de if , else if , else if ect... ça ne se fait pas trop, on va plutôt utiliser un switch. Maintenant je ne comprend pas vraiment ton problème il faudrait que tu détail un peu.
Ensuite je ne suis pas expert en c++ mais il me semble que ce n'est pas vraiment comme cela qu'on procède lorsque l'on veut capturer les input clavier.
Personnellement lorsque je dois faire ça j'utilise une librarie, il y en a pas mal de différente mais je te conseil la SDL puisqu'elle est bien documenté et relativement simple d'utilisation. Elle te permettra de manière simple d'avoir un switch sur la capture du clavier et en fonction de la touche appuyée tu lanceras une fonction.
YCN-
Ensuite je ne suis pas expert en c++ mais il me semble que ce n'est pas vraiment comme cela qu'on procède lorsque l'on veut capturer les input clavier.
Personnellement lorsque je dois faire ça j'utilise une librarie, il y en a pas mal de différente mais je te conseil la SDL puisqu'elle est bien documenté et relativement simple d'utilisation. Elle te permettra de manière simple d'avoir un switch sur la capture du clavier et en fonction de la touche appuyée tu lanceras une fonction.
YCN-
Salut toufeux,
Tu pourrais tester la valeur de
Si je comprends bien, si elle vaut 1, c'est que l'on a pressé Enter alors qu'on était sur le premier choix.
Cela donnerait :
ces lignes pouvant remplacer les lignes 42 à 52 du code que tu as posté sur le forum (selon la numérotation du forum, donc).
Dal
Tu pourrais tester la valeur de
yx.
Si je comprends bien, si elle vaut 1, c'est que l'on a pressé Enter alors qu'on était sur le premier choix.
Cela donnerait :
else if (saisieTouche == KEY_ENTER || 77) { if (yx == 1) mainAllumettes(); if (yx == 2) break; /* sortir de la boucle for */ }
ces lignes pouvant remplacer les lignes 42 à 52 du code que tu as posté sur le forum (selon la numérotation du forum, donc).
Dal
mais je vais tacher de regarder les optimisation que je peut faire.