public function buildGame(GameInitiationRequest $request) : Game { $game = new Game(); $this->attachAIBattlefields($game, $request->getOpponents(), $request->getSize()); $player = $this->playerModel->createOnRequestHumanControlled($request->getPlayerName()); $battlefield = BattlefieldModel::generate($request->getSize(), $request->getCoordinates()); $battlefield->setPlayer($player); $game->addBattlefield($battlefield); /** for test purposes only - mark player cells as damaged */ $battlefield->getCellByCoordinate('A2')->setFlags(CellModel::FLAG_DEAD_SHIP); $battlefield->getCellByCoordinate('A1')->setFlags(CellModel::FLAG_DEAD_SHIP); return $game; }
/** * should throw exception, because existed Player is not controlled By AI * * @see PlayerModel::createOnRequestHumanControlled * @test * * @expectedException \EM\GameBundle\Exception\PlayerException * * @depends isAIControlledOnFlagNone * @requires isAIControlledOnFlagAIControlled */ public function createOnRequestHumanControlledOnNonExistingAIPlayer() { static::$playerModel->createOnRequestHumanControlled(LoadPlayerData::TEST_AI_CONTROLLED_PLAYER_EMAIL); }