/** * @param Game $game */ private function moveCurrentPlayer(Game $game) { list($randomCol, $randomRow) = $game->getRandomBoardCoordinates(); $msg = sprintf("%s's [%s] move (e.g. %s %s): ", $game->getCurrentPlayerName(), $game->getCurrentPlayerMark(), $randomCol, $randomRow); $this->ioService->printMessageLine($msg); while (true) { try { $game->moveCurrentPlayer(); break; } catch (GameException $e) { $msg = sprintf("%s, try again: ", $e->getMessage()); $this->ioService->printMessage($msg); } } }
public function test_it_returns_opposing_player_name_as_current_player_name_for_new_game_after_current_player_changed() { $this->game->changeCurrentPlayer(); $this->assertEquals(self::OPPOSING_NAME, $this->game->getCurrentPlayerName()); }