[LANGAGE C cacher la saisie]

Abaze -  
 ajslenegus -
Bonjour,
j'aimerais savoir s'il existe un moyen de cacher la saisie avec le lanagage C.

Car en fait je suis en train de developer une application (...le pierre, feuille, ciseaux...mdr c pour une action professionelle :( )

et dans la partie Joueur 1 VS Joueur 2 , bien ca serai cool que l'un et l'autre des joueur puissent saisir son choix sans qu'il ne soit visible a l'ecran......sinon bonjour les tricheries lol (ca vaux -5 o BTS c pour ca je flipe lol)

Voila tout, si vous avez une petite astuce jsui opé pour la recevoir

Merci d'avance @+++
A voir également:

14 réponses

fafani86
 
Bonjour,
svp qui peut m'aider, demain matin j'ai un tp noté en programmation: ecrire une fonction SAISIR_PASSWD permettant de saisir un mot de passe avec echo de **** sur écran. le mot de passe sera crypté avant d'etre stocké.
2
NoirDelire Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   4
 
Quel outil utilises-tu ? Visual C++ ?

NoirDélire
1
Luffy =)
 
Salut =)

Tu pourrais peut-être assimiler le choix à l'appui d'une touche, et la détecter sans l'afficher avec la fonction (enfin si tu utilises VC++) PreTranslateMessage(). Et mettre les touches côte à côte pour limiter les risques de triche (enfin le mieux serait de mettre les touches paramétrables).

++
1
abaze
 
Oui tout a fait j'utilise VC++.....mais je m'y connais pa tro en parametrage...mais jvai aller voir comment on utilise la fonction PreTranslateMessage( ).
Merci pour vos aide ;) ++
1

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

Posez votre question
abaze
 
...si ca pe aider a mieu voir ou jve en venir:
Vous verrez ci dessous le menu du joueur...et je suis en train d'essayer de trouver un moyen pour pouvoir cacher sa saisie


int sousmenu()
{
char y;

printf("--Joueur 1--\n");

printf("___________________________________\n");
printf("--FAITES VOTRE CHOIX--\n\n");
printf("[1] Pierre\n");
printf("[2] Feuille\n");
printf("[3] Ciseaux\n");
printf("___________________________________\n");
puts("Quel est votre choix:\n");
scanf("%c",&y);


while(y<49 || y>51)
{ printf("Choix incorrect!\n");
printf("Veuillez resaisir votre choix: ");
scanf(" %c",&y);
system("cls");
}

return y;
}



Je suis en train de regarder les fonction de detection des touches du clavier....:O c pa si évident que ca (lol jsui à l'ouest javou)

Bah si vous savez comment faire tout simplement un ptit pe d'aide me ferai pa d'mal lol
merci davance
1
SKZ
 
Sisi, avec getch() oui équivalent, c'est tout à fait possible.
1
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Ben voilà, on y est ! enfin, et dire que c'était à seulement 5 lettre de nous !
Merci donc SKZ !
:)
0
SKZ > kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention  
 
Aucun mérite, c'est gravachol qui l'a dis le 1er ;°)
0
abaze
 
ouais Cimer les gens,
mais g laché laffaire, jai preferer developer mon programe sous Windows avec <conio.h> (ce qui regle tout les probleme d'un coup PAN!!!! mdr) parske ca va tro loin sous linux, g tester <curses.h> et <ncurses.h> et c klr que c BIEN RELOU!!
bah jvous remerci encor de vos reponse, jorai o moin apris des choses malgré tout lol
allé bonne continuation ;) ++
1
Luffy =)
 
désolé je n'avais pas compris que tu faisais ton jeu dans la console, je croyais que tu avais fait une boite de dialogue.

en plus je viens de regarder sur la msdn et la fonction PreTranslateMessage() appartient à la classe CWnd , donc c'est du C++. Je vais regarder s'il n'y a pas un autre moyen.

++
0
abaze
 
lol Ouais mon jeux s'effectue sur la console (jme sui pa cassé la tete lol ...:( )

Merci pour ton aide Luffy ;)

...là il me reste juste la partie "masquer la saisie du joueur" et mon AP sera quasiement terminer ! enfin jespere lol

+++
0
Ravachol Messages postés 566 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut,
Si tu n'as pas nécessairement besoin de faire valider la saisie pas "Entrée" tu peux essayer avec la fonction getch qui se trouve dans le header conio.h.
Ne connaissant pas trop l'environnement Windows, je ne suis pas certain pour le header, à vérifier donc ;-)

A++
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Je ne crois pas que cela soit possible (cacher l'écriture sur la console, car cela ne fait pas partis de ton programme mais de celui de la console - si tu comprned ce que je veux dire par là.).Enfin, si tu trouve un truc, fais le nous savoir.

merci

++
0
abaze
 
wéééé merci les gars, avec getch() ca marche tranquille!
mdrr mais jsui tro degouté.....
l'application jlai fait chez moi sous Windows XP avec Visual C++.....
mais au lycée jdoit travailler sous Linux Debian...
lol et comme par hasard la librairie <conio.h> (qui contien la fameuze fonction getch() ) n'existe pas sous linux (lolll serieu jdevien fou)...jai chercher sur le net , ya ecrit comme quoi l'équivalent de <conio.h> sous linux c <ncurses.h>...j'ai tester mais bon :( la fonction getch( ) n'est toujours pas reconnue

lol voila on dirai ca va jamais s'finir tout ca !! jcontinu mes recherche pour voir plus en detail le <ncurses.h>

Alé j'y retourne, et merci encor pour vos suggestion serieu coment ca fai grave avancer vite ;)
A++++
0
Ravachol Messages postés 566 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut,
Tu trouveras un tutoriel sur ncurses ici:http://ariffart.club.fr/sommaire01.html#planpgrc

A++
0
tafiscobar Messages postés 1277 Date d'inscription   Statut Contributeur Dernière intervention   177
 
salut, sous linux/Unix c'est possible de cacher ce que l'utilisateur entre au clavier avec l'api posix. C'est pas facile par contre. Le principe c'est qu'un terminal reçoit les données du clavier, mais ils st stockés sur une file d'attente. Si l'option ECHO est activée, eh ben tout ce q tu tapes, est affichée. Regrdes du coté de termios, tu as son manpage ici http://www.opengroup.org/onlinepubs/009695399/basedefs/termios.h.html
0
SKZ
 
Ouaip. Où alors tu reprend le même code, avec :
#ifdef _WIN
#include <conio.h>
#endif

// du code ...

#ifdef WIN
  a = getch();
#elif
  a = getchar(); // fonction de stdio.h
#endif


J'y pense, y'a p'têt moyen d'utiliser getchar() dans les 2 cas ?
0
ajslenegus
 
merci lè gar ça maid bcp javè le mem pb k' abaze
0