Пример #1
0
 /**
  * @param string $gameId
  * @param string $letter
  * @return int
  */
 public function chooseLetter($gameId, $letter)
 {
     Assertion::false($this->gameWon, "Game already won");
     Assertion::false($this->gameLost, "Game already lost");
     // if letter already exists do nothing
     if ($this->lettersCorrectlyGuessed->LetterExistsInContainer($letter) || $this->lettersWrongGuessed->LetterExistsInContainer($letter)) {
         $this->wrongGuessedLetter($gameId, $letter);
         return;
     }
     // Execute the right event
     $wordContainsLetter = $this->word->wordContainsLetter($letter);
     if ($wordContainsLetter === false) {
         $this->wrongGuessedLetter($gameId, $letter);
         return;
     }
     // throw good guess
     $this->correctlyGuessedLetters($gameId, $letter);
 }