示例#1
0
        public void Guess(char letter)
        {
            letter = ToUpperChar(letter);

            GuessedLetters.Add(letter);

            var incorrectGuess = !_wordToGuess.ToCharArray().Any(x => x == letter);

            if (incorrectGuess)
            {
                GuessesRemaining--;
            }
        }
示例#2
0
        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());
        }
示例#3
0
 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);
 }
示例#4
0
        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);
        }
示例#5
0
        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;
            }
        }