/** * @test */ public function testPlayerLost() { $gameId = $this->getMiniGameId(666); $playerId = $this->getPlayerId(42); $playedLetters = array('A'); $remainingLives = 5; $wordSoFar = 'A _ _'; $word = 'ABC'; $event = new HangmanPlayerLostEvent($gameId, $playerId, $playedLetters, $remainingLives, $wordSoFar, $word); $this->assertEquals($gameId, $event->getGameId()); $this->assertEquals($playerId, $event->getPlayerId()); $this->assertEquals($playedLetters, $event->getPlayedLetters()); $this->assertEquals($remainingLives, $event->getRemainingLives()); $this->assertEquals($wordSoFar, $event->getWordFound()); $this->assertEquals($word, $event->getWord()); }
/** * Apply the hangman player lost event * * @param HangmanPlayerLostEvent $event */ protected function applyHangmanPlayerLostEvent(HangmanPlayerLostEvent $event) { if ((string) $event->getPlayerId() === (string) $this->getId()) { $this->lose(); } }
/** * Apply the hangman player lost event * * @param HangmanPlayerLostEvent $event */ protected function applyHangmanPlayerLostEvent(HangmanPlayerLostEvent $event) { $this->state = self::STATE_OVER; unset($this->gameOrder[array_search((string) $event->getPlayerId(), $this->gameOrder)]); }