Caché mot [Résolu]

Messages postés
3
Date d'inscription
jeudi 7 octobre 2010
Dernière intervention
18 octobre 2010
- - Dernière réponse : Raul duke
Messages postés
67
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
18 juillet 2016
- 18 oct. 2010 à 21:22
Bonjours,

Je suis nouveau sur ce forum, et j'ai besoin d'aide afin de ressoude un problème que je rencontre.

Je réalise actuellement un jeu du pendu en C# et je n'arrive pas a masquer le mot.

Ce mot est saisie dans un fichier, je réussi a le récupérer et a l'afficher mais je souhaiterai quand il apparait, qu'il soit masquer par '_' a la place des caractère du mot.

Mes mots sont saisie dans un tableau je penser donc créer un 2ème tableau de masque qui permettrait de générer les mots masquer mais je n'y suis pas arriver.

Si quelqu'un pouvait me donné une idée ou de l'aide...

Merci d'avance
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
67
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
18 juillet 2016
3
Merci
ici le mot est saisi en clair au debut du jeu, c'est pas trés logique mais bon c'est juste un exo d'initiation.
Il faudrait également convertir les propositions du joueur en minuscule dans pVerification.

+ certainement qq petites choses en +


string sMot, sIntermediaire="",cProposition, sContinuer="";
           int iNBErreurs=0, iLongueur, i;
           string[] tMot = new string[28];
           string[] tInter = new string[28];

           do
           {
               //on efface l'ecran en cas de seconde ou nieme partie d'affile
               Console.Clear();
               //remise a zero des variables
               iNBErreurs = 0;
               sIntermediaire = "";


               Console.WriteLine("Saisissez le mot a trouver");
               sMot = Console.ReadLine();
               iLongueur = sMot.Length;

               //instancie les tableaux qui serviront a la comparaison
               for (i = 0; i < iLongueur; i++)
               {
                   tMot[i] = sMot.Substring(i, 1);
                   tInter[i] = "_";
               }

               //Menu du jeu
               Console.Clear();
               Console.WriteLine("-------------------------");
               Console.WriteLine("-      Jeu du Pendu     -");
               Console.WriteLine("-------------------------");

               do // on fait proposer des caracteres par l'utilisateur
               //jusqu'a ce qu'il trouve le mot ou qu'il ai fait 11 erreurs
               {
                   Console.WriteLine("Entre un caractere a rechercher dans le mot");
                   cProposition = Console.ReadLine();

                   //Procedure verifiant si la lettre entre est comprise dans le mot
                   pVerification(sMot, ref sIntermediaire, ref iNBErreurs, ref tInter, cProposition);

                   //Affichage du dessin
                   Affichage(iNBErreurs, sIntermediaire);

                   Console.WriteLine(Environment.NewLine);

               } while (sIntermediaire != sMot & iNBErreurs < 11);


               // Message de fin du jeu
               MessageFinJeu(iNBErreurs, sMot);


               //Nouvelle partie
               Console.WriteLine("Souhaiter vous rejouer O/N ?");
               sContinuer = Console.ReadLine();

           } while (sContinuer "o" || sContinuer "O");

           Console.WriteLine("-------------------------");
           Console.WriteLine("Appuyer sur n'importe qu'elle touche pour quitter...");
           Console.ReadKey();

        }

        static void pVerification(string Mot, ref string Intermediaire, ref int Erreurs, ref string[] tIntermediaire, string Proposition)
        {
            int i = 0, nbTrouve=0;


            for (i = 0; i < Mot.Length; i++)
            { 
                //si le caractere proposé est present dans le mot  a trouver 
                //on le place dans tIntermediaire au bon(s) endroit(s)

                if (Proposition == Mot.Substring(i, 1))
                {
                    tIntermediaire[i] = Mot.Substring(i, 1);
                    Console.WriteLine(Environment.NewLine);
                    nbTrouve+=1;    
                }            
            }

            //reinitialisation de intermediaire 
            Intermediaire = "";

            //recreation de intermediaire
            for (i = 0; i < Mot.Length; i++)
            {
                
                Intermediaire = Intermediaire+ tIntermediaire[i];
            }
  
            //si on a pas trouver la lettre dans le mot on incremente le nb d'erreurs
            if (nbTrouve == 0)
            {
                Erreurs += 1;
            }
        
        }

        static void Affichage(int Erreurs, string Intermediaire)
        {
            //Raz de l'affichage
            RazAffichage();

            switch (Erreurs)
            { 
                case 0 : 
                    Console.WriteLine("Aucune Erreur");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 1 :
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Une Erreur !, on construit la potence !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("__________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;    
                case 2:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Deux Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 3:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Trois Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 4:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Quatre Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 5:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Cinq Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 6:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Six Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine(" |/     ");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 7:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Sept Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("___________");
                    Console.WriteLine(" |/     ");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 8:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Huit Erreurs ! ça sent pas bon !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("___________");
                    Console.WriteLine(" |/     |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 9:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Neuf Erreurs !");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("___________");
                    Console.WriteLine(" |/     |");
                    Console.WriteLine(" |      o");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 10:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Dix Erreurs ! Alerte Rouge !!!");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("___________");
                    Console.WriteLine(" |/     |");
                    Console.WriteLine(" |      o");
                    Console.WriteLine(" |     /|\\ ");
                    Console.WriteLine(" |");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
                case 11:
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("Onze Erreurs ! T'ES MORT !!!");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("___________");
                    Console.WriteLine(" |/     |");
                    Console.WriteLine(" |      o");
                    Console.WriteLine(" |     /|\\ ");
                    Console.WriteLine(" |     / \");
                    Console.WriteLine(" |");
                    Console.WriteLine("_|_________");
                    Console.WriteLine(Environment.NewLine);
                    Console.WriteLine("-- Mot : " + Intermediaire);
                    Console.WriteLine(Environment.NewLine);
                    break;
            }
        
        }

        static void RazAffichage()
        {
            Console.Clear();
            Console.WriteLine("-------------------------");
            Console.WriteLine("-      Jeu du Pendu     -");
            Console.WriteLine("-------------------------");
        }

        static void MessageFinJeu(int iNBErreurs, string sMot)
        {
            if (iNBErreurs == 11)
            {
                Console.WriteLine("-------------------------");
                Console.WriteLine("Dommage vous avez perdu !");
                Console.WriteLine("Le Mot a trouver etait : {0}", sMot);
                Console.WriteLine("-------------------------");
            }
            else
            {
                if (iNBErreurs == 0)
                {
                    Console.WriteLine("-------------------------");
                    Console.WriteLine("Bravo vous avez gagner !");
                    Console.WriteLine("Le Mot a trouver etait bien {0}", sMot);
                    Console.WriteLine("De plus vous n'avez fait aucune erreur, FELICITATIONS !", sMot);
                    Console.WriteLine("-------------------------");
                }
                else
                {
                    Console.WriteLine("-------------------------");
                    Console.WriteLine("Bravo vous avez gagner !");
                    Console.WriteLine("Le Mot a trouver etait bien {0}", sMot);
                    Console.WriteLine("Malgré tout vous avez fait {0} Erreur(s)", iNBErreurs);
                    Console.WriteLine("-------------------------");
                }
            }
        }

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Raul duke
Messages postés
67
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
18 juillet 2016
0
Merci
creer un tableau du genre :

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... |
L1 | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | ... |
L2 | M | O | T | A | T | R | O | U | V | E | ... |

ensuite pour chaque lettre trouvée tu remplace _ par la lettre en question

et c'est L1 que tu affiche a l'utilisateur a chaque fois

j'ai fait un exo comme ça en début d'année (c# mode console), j'te passerais la source si t'es intéresser. @++
Commenter la réponse de Raul duke
Messages postés
3
Date d'inscription
jeudi 7 octobre 2010
Dernière intervention
18 octobre 2010
0
Merci
Merci de la réponse tout d'abord.

D'accord je comprends, par contre dans mon second tableau je stock seulement le mot caché ou je dois stocker les 2 a savoir mot caché et motatrouver ?

Merci de la réponse,

ps: ta source m'intéresserais bien en effet....
Commenter la réponse de xerses94
Messages postés
67
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
18 juillet 2016
0
Merci
a mon sens un second tableau n'est pas nécéssaire.

par exemple pour le mot BANANE tu creer un tableau a 2 dimensions comme dans mon premier post.
a chaque proposition du joueur tu compare avec chaque caractère du mot a trouver
si l'utilisateur tapes un "A" la première ligne devient _A_A__
il tape ensuite un 'E' --> _A_A_E
il tape un 'Z' la ligne reste _A_A_E etc...

et tu boucle comme ça jusqu'a ce qu'il trouve le mot ou (et c'est bien dommage) qu'il soit pendu (avec ses trippeuhhh).

pour la source je re ici dans la soirée.
Commenter la réponse de Raul duke
Messages postés
3
Date d'inscription
jeudi 7 octobre 2010
Dernière intervention
18 octobre 2010
0
Merci
Ok merci d'avance...
Commenter la réponse de xerses94

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.