Caché mot

Résolu
xerses94 Messages postés 3 Date d'inscription jeudi 7 octobre 2010 Statut Membre Dernière intervention 18 octobre 2010 - 15 oct. 2010 à 14:46
Raul duke Messages postés 70 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 mai 2019 - 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

5 réponses

Raul duke Messages postés 70 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 mai 2019 2
18 oct. 2010 à 21:22
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("-------------------------");
                }
            }
        }

3
Raul duke Messages postés 70 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 mai 2019 2
18 oct. 2010 à 09:50
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. @++
0
xerses94 Messages postés 3 Date d'inscription jeudi 7 octobre 2010 Statut Membre Dernière intervention 18 octobre 2010
18 oct. 2010 à 12:17
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....
0
Raul duke Messages postés 70 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 mai 2019 2
18 oct. 2010 à 14:25
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.
0

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

Posez votre question
xerses94 Messages postés 3 Date d'inscription jeudi 7 octobre 2010 Statut Membre Dernière intervention 18 octobre 2010
18 oct. 2010 à 19:26
Ok merci d'avance...
0
Rejoignez-nous