Beispiel #1
0
        public bool ShowEndScreen(WordsOperator wordsOperator, List <string> guessedLetters)
        {
            var containsSymbol     = true;
            var revealedCharacters = string.Empty;
            var revealedWords      = new List <string>();

            foreach (var word in wordsOperator.CollectedWordsFromCrossword)
            {
                revealedCharacters = Regex.Replace(word, wordsOperator.RevealGuessedLetters(guessedLetters), GlobalConstants.SpecificSymbolToReplaceNull);
                revealedWords.Add(revealedCharacters);
            }

            foreach (var word in revealedWords)
            {
                if (word.Contains(GlobalConstants.SpecificSymbolToReplaceNull))
                {
                    return(!containsSymbol);
                }
            }

            if (containsSymbol)
            {
                var score = (wordsOperator.CollectedWordsFromCrossword.Count * 1000) / Counter.ReturnWrongAnswers();
                Console.Clear();
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
                Console.Write("        You've managed to solve {0} words with {1} wrong guesses!",
                              wordsOperator.CollectedWordsFromCrossword.Count, Counter.ReturnWrongAnswers());
                Console.WriteLine();
                Console.WriteLine("        Your score is: {0}", score);
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
            }

            return(containsSymbol);
        }
Beispiel #2
0
 public void GuessingAWordVisualizer(List <string> listOfExistingWords)
 {
     Console.WriteLine();
     Console.WriteLine();
     Console.Write("Try guessing a word: ");
     Console.Write("                                         Your mistakes are: {0}", Counter.ReturnWrongAnswers());
     Console.WriteLine("                                                     There are {0} words in this puzzel                                  Type Exit to EXIT",
                       listOfExistingWords.Count);
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
     Console.WriteLine();
 }
Beispiel #3
0
        public void SolveCrossword(string[,] crossword, WordsOperator wordsOperator)
        {
            var justAnElement  = "@";
            var guessedLetters = new List <string>()
            {
                justAnElement
            };

            painter.ListWordsOnlyWithHints(wordsOperator, guessedLetters);
            Console.WriteLine("Suggest Letter or Press ESC to exit:                         Wrong guesses: 0");
            var escapeButton = "\u001b";

            while (true)
            {
                var guessedLetter = Console.ReadKey()
                                    .KeyChar
                                    .ToString().ToLower();

                if (guessedLetter == escapeButton)
                {
                    painter.ExitScreen();
                    break;
                }

                guessedLetters.Add(guessedLetter);
                Console.Clear();
                painter.RevealLetter(crossword, guessedLetters);


                painter.ListWordsOnlyWithHints(wordsOperator, guessedLetters);
                Console.Write("Suggest Letter or Press ESC to exit:                         Wrong guesses: {0}", Counter.ReturnWrongAnswers());
                Console.WriteLine();

                if (painter.ShowEndScreen(wordsOperator, guessedLetters))
                {
                    break;
                }
            }
        }