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); }
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(); }
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; } } }