Ejemplo n.º 1
0
        public static void Guess(string word, string entry, Drawer drawer, List <string> guessedLetters, WordsLibrary words, int mistakeCounter)
        {
            var check = true;

            MessageBank.GuesALetter();
            string guess = Console.ReadLine();

            if (guess.Length > 1)
            {
                MessageBank.InvalidCommand();
            }
            else if (guessedLetters.Contains(guess))
            {
                Console.Clear();
                Visualizer.Visualize(word, entry, drawer, guessedLetters, words);
                MessageBank.Duplicate();
                Console.WriteLine();
                Guess(word, entry, drawer, guessedLetters, words, mistakeCounter);
            }
            else if (word.Contains(guess))
            {
                guessedLetters.Add(guess);

                foreach (var ch in word.Where(c => c.ToString() == guess))
                {
                    var index = word.IndexOf(ch.ToString());
                    var temp  = entry.ToCharArray();
                    temp[index] = char.Parse(guess);
                    entry       = new string(temp);
                }
            }
            else
            {
                guessedLetters.Add(guess);
                mistakeCounter++;

                if (mistakeCounter == 1)
                {
                    drawer.DrawHead();
                }
                else if (mistakeCounter == 2)
                {
                    drawer.DrawNeck();
                }
                else if (mistakeCounter == 3)
                {
                    drawer.DrawBody();
                }
                else if (mistakeCounter == 4)
                {
                    drawer.DrawLeftArm();
                }
                else if (mistakeCounter == 5)
                {
                    drawer.DrawRightArm();
                }
                else if (mistakeCounter == 6)
                {
                    drawer.DrawLeftLeg();
                }
                else if (mistakeCounter == 7)
                {
                    drawer.DrawRightLeg();
                }
            }

            while (check == true)
            {
                if (entry.Contains('-') && mistakeCounter < 7)
                {
                    Console.Clear();
                    Visualizer.Visualize(word, entry, drawer, guessedLetters, words);
                    Guess(word, entry, drawer, guessedLetters, words, mistakeCounter);
                }
                else if (mistakeCounter == 7)
                {
                    Console.Clear();
                    Visualizer.Visualize(word, entry, drawer, guessedLetters, words);
                    MessageBank.Hanged();
                    Console.WriteLine();
                    CommandPannel(drawer, words);
                    check = false;
                }
                else
                {
                    Console.Clear();
                    Visualizer.Visualize(word, entry, drawer, guessedLetters, words);
                    MessageBank.Congratulations();
                    Console.WriteLine();
                    CommandPannel(drawer, words);
                    check = false;
                }
            }
        }