public void Guess(char letter) { letter = ToUpperChar(letter); GuessedLetters.Add(letter); var incorrectGuess = !_wordToGuess.ToCharArray().Any(x => x == letter); if (incorrectGuess) { GuessesRemaining--; } }
public override string ToString() { var sb = new StringBuilder(); sb.AppendFormat("Guessed letters: {0}", new string(GuessedLetters.ToArray())); sb.AppendLine(); sb.AppendFormat("Guesses remaining: {0}", GuessesRemaining); sb.AppendLine(); sb.Append(RevealedWord); return(sb.ToString()); }
private bool IsValidGuess(string letter) { if (NrOfIncorrectGuesses == MaxNrOfGuesses) { Notification = "Helaas, je mag niet meer raden. Het spel zit erop!"; return(false); } if (GuessedLetters.Contains(letter)) { Notification = $"De letter {letter} heb je al geprobeerd, probeer een andere!"; return(false); } return(true); }
private bool HasWordBeenGuessed() { // filter out spaces and uppercase it for comparison var word = WordToGuess.Replace(" ", "").ToUpper(); foreach (var letter in word) { if (!GuessedLetters.Contains(letter.ToString())) { return(false); } } return(true); }
public void Guess(string letter) { letter = letter.ToUpper(); // is it a valid guess? game still going, letter not guessed before? if (!IsValidGuess(letter)) { return; } // if letter isn't in word, then increase the number of incorrect guesses if (!WordToGuess.ToUpper().Contains(letter)) { NrOfIncorrectGuesses++; } GuessedLetters.Add(letter); // has the word been solved? if (HasWordBeenGuessed()) { WordGuessed = true; } }