예제 #1
0
        public void ListWordsOnlyWithHints(WordsOperator wordsOperator, List <string> guessedLetters)
        {
            Console.WriteLine(wordsOperator.CollectedWordsFromCrossword.Count + " words");
            Console.WriteLine();
            var  counter                   = 0;
            var  revealedCharacters        = string.Empty;
            var  lastIndexOfguessedLetters = guessedLetters.Count - 1;
            bool switcher                  = true;
            var  listOfUpdatedWords        = new List <string>();

            foreach (var word in wordsOperator.CollectedWordsFromCrossword)
            {
                if (counter == 0 || counter == 1)
                {
                    revealedCharacters = Regex.Replace(word, wordsOperator.RevealGuessedLetters(guessedLetters), GlobalConstants.SpecificSymbolToReplaceNull);
                    counter++;
                    Console.WriteLine(1 + " " + word.Count() + " letters" + " " + revealedCharacters);
                }
                else
                {
                    revealedCharacters = Regex.Replace(word, wordsOperator.RevealGuessedLetters(guessedLetters), GlobalConstants.SpecificSymbolToReplaceNull);
                    Console.WriteLine(counter.ToString() + " " + word.Count() + " letters" + " " + revealedCharacters);
                    counter++;
                }
                listOfUpdatedWords.Add(revealedCharacters);
            }

            if (!listOfUpdatedWords.Any(x => x.Contains(guessedLetters[lastIndexOfguessedLetters])))
            {
                Counter.CounterOfWrongAnswers();
            }
        }
예제 #2
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);
        }