Ejemplo n.º 1
0
 public void guessLetter(GuessLetter command)
 {
     if (this.GameOver)
     {
         throw new DomainException(
                   $"[{this.gameId.ToString()}] Failed to apply GuessLetter command! {this.gameEndReason}");
     }
     // letter guessed and all letter guessed here
     if (this.word.Contains(command.Letter) && this.hasAllLettersGuessed(command.Letter))
     {
         this.Record(new LetterGuessed(command.Letter));
         this.Record(new GameWon("All letters guessed"));
     }
     else if (this.word.Contains(command.Letter))
     {
         this.Record(new LetterGuessed(command.Letter));
     }
     else
     {
         this.Record(new LetterNotGuessed(command.Letter));
         if ((this.triesRemaining - 1) < 0)
         {
             this.Record(new GameLost("No tries remaining"));
         }
     }
 }
Ejemplo n.º 2
0
        public async Task <GuessLetter> CreateGuessLetter(GuessWord guessWord, string guessLetter)
        {
            var newGuessLetter = new GuessLetter()
            {
                GuessWord   = guessWord,
                GuessWordId = guessWord.Id,
                Letter      = guessLetter
            };

            await _repositoryGuessLetter.Save(newGuessLetter);

            return(newGuessLetter);
        }