[LANGAGE C cacher la saisie]

Fermé
Abaze - 15 avril 2005 à 19:28
 ajslenegus - 15 oct. 2010 à 01:29
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

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 samedi 16 avril 2005 Statut Membre Dernière intervention 16 avril 2005 4
16 avril 2005 à 13:04
Quel outil utilises-tu ? Visual C++ ?

NoirDélire
1
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
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
...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
Sisi, avec getch() oui équivalent, c'est tout à fait possible.
1
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
17 avril 2005 à 19:49
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 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
18 avril 2005 à 21:52
Aucun mérite, c'est gravachol qui l'a dis le 1er ;°)
0
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
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
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 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
17 avril 2005 à 19:15
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 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
17 avril 2005 à 19:20
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
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 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
18 avril 2005 à 20:51
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 jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
18 avril 2005 à 21:33
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
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
merci lè gar ça maid bcp javè le mem pb k' abaze
0