/**
  * @Route("/show/{game}", name="game_show")
  * @param Game $game
  * @param Request $request
  * @return Response
  */
 public function showGame(Game $game, Request $request)
 {
     //Проверяем и закрываем закончившиеся игры
     $this->get('app.service.game_helper')->closeFinishedTeamGames();
     $teamGame = $this->getDoctrine()->getRepository(TeamGame::class)->findActiveTeamGame($this->getUser()->getTeam());
     if ($teamGame && $game->getId() !== $teamGame->getGame()->getId()) {
         $teamGame = null;
     }
     $gameTask = $teamGame ? $this->getDoctrine()->getRepository(GameTask::class)->findCurrentTask($teamGame) : null;
     $codeForm = $this->createForm(ActiveGameCodeType::class);
     $codeForm->handleRequest($request);
     if ($teamGame && $gameTask && $codeForm->isValid()) {
         $taskCode = $this->getDoctrine()->getRepository(TaskCode::class)->findOneBy(['gameTask' => $gameTask, 'code' => $codeForm->getData()['code']]);
         if ($taskCode) {
             list($this->flashType, $this->flashMessage) = $this->get('app.service.game_helper')->processGame($teamGame, $gameTask, $taskCode, $this->getUser());
             $this->addFlashMessage();
             return $this->redirectToRoute('game_show', ['game' => $game->getId()]);
         } else {
             $this->flashMessage = 'Код не верен';
             $this->flashType = 'danger';
             $this->addFlashMessage();
         }
     }
     return $this->render('AppBundle:Game:show.html.twig', ['game' => $game, 'gameList' => $this->getDoctrine()->getRepository(Game::class)->findFutureGames(), 'teamGame' => $teamGame, 'gameTask' => $gameTask, 'form' => $codeForm->createView()]);
 }
Example #2
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $game = new Game(new RandomHeadTailsGenerator());
     $game->setName('Arizona');
     $game2 = new Game(new RandomHeadTailsGenerator());
     $game2->setName('Delaware');
     $game3 = new Game(new RandomHeadTailsGenerator());
     $game3->setName('California');
     $game4 = new Game(new RandomHeadTailsGenerator());
     $game4->setName('Ohio');
     $game5 = new Game(new RandomHeadTailsGenerator());
     $game5->setName('New York');
     $game6 = new Game(new RandomHeadTailsGenerator());
     $game6->setName('Nevada');
     $game7 = new Game(new RandomHeadTailsGenerator());
     $game7->setName('Utah');
     $manager->persist($game);
     $manager->persist($game2);
     $manager->persist($game3);
     $manager->persist($game4);
     $manager->persist($game5);
     $manager->persist($game6);
     $manager->persist($game7);
     $manager->flush();
     $this->addReference('game-new-york', $game5);
     $this->addReference('game-nevada', $game6);
     $this->addReference('game-utah', $game7);
 }
Example #3
0
 /**
  * Get replacement game
  *
  * @param Game $game
  * @return Game
  */
 public function getReplacementGame(Game $game, GameNameFinder $gameNameFinder)
 {
     $replacement = new Game(new RandomHeadTailsGenerator());
     $replacement->setName($gameNameFinder->getUniqueName());
     $replacement->setReplacedGameId($game->getId());
     return $replacement;
 }
 public function testThatFinishedAtIsCreatedWhenANewlyFinishedGameIsUpdated()
 {
     $game = new Game(new RandomHeadTailsGenerator());
     $game->setName('Wyoming');
     $this->em->persist($game);
     $this->em->flush();
     $this->assertNull($game->getFinishedAt());
     $this->setUpTwoPlayerGame($game);
     $this->assertInstanceOf('\\DateTime', $game->getFinishedAt());
 }
 /**
  * @Route("/admin/game/delete/{id}", requirements={"id" = "\d+"}, name="admin_game_delete")
  */
 public function deleteAction(Game $game)
 {
     if ($game->getPlayerCount() > 0) {
         $this->addFlash('notice', 'You can\'t delete a game with players');
     } else {
         $em = $this->getDoctrine()->getManager();
         $em->remove($game);
         $em->flush();
     }
     return $this->redirectToRoute('admin_game_home');
 }
 public function removeUserFromGame(User $user, Game $game)
 {
     if ($game->isUserInGame($user)) {
         $em = $this->getEntityManager();
         $player = $game->getPlayerByUserId($user->getId());
         // note it is important that we remove the player from the game before deleting them so that game state is updated to reflect this change
         $game->removePlayer($player);
         $em->remove($player);
         $em->flush();
     }
 }
Example #7
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $lol = new Game();
     $lol->setName('League of Legends');
     $lol->setSystName('lol');
     $lol->setNbPlayers(5);
     $manager->persist($lol);
     $csgo = new Game();
     $csgo->setName('Counter Strike : Global Offensive');
     $csgo->setSystName('csgo');
     $csgo->setNbPlayers(5);
     $manager->persist($csgo);
     $manager->flush();
     $this->addReference('lol-game', $lol);
     $this->addReference('csgo-game', $csgo);
 }
 protected function setUpGame()
 {
     $game = new Game(new RandomHeadTailsGenerator());
     $game->setName('Arizona');
     $user = new User();
     $user->setId(1);
     $user->setUsername('ricardo75');
     $player = new Player($user, Game::FLIP_TYPE_HEADS);
     $game->addPlayer($player);
     $user2 = new User();
     $user->setId(2);
     $user2->setUsername('flipshark');
     $player2 = new Player($user2, Game::FLIP_TYPE_TAILS);
     $game->addPlayer($player2);
     return $game;
 }
Example #9
0
 public function load(ObjectManager $manager)
 {
     $game = new Game();
     $game->setName('name');
     $game->setDeveloper('developer');
     $player = new Player();
     $player->setName('name');
     $score = new Score();
     $score->setValue(1);
     $score->setPlayer($player);
     $score->setGame($game);
     $manager->persist($game);
     $manager->persist($player);
     $manager->persist($score);
     $manager->flush();
     self::$score = $score;
 }
Example #10
0
    public function load(ObjectManager $manager)
    {
        static $list = array('League of Legends' => ['systName' => 'lol', 'description' => '
				', 'places' => '16', 'nbplayers' => '5'], 'Counter Strike : Global Warfare' => ['systName' => 'csgo', 'description' => '
				', 'places' => '16', 'nbplayers' => '5'], 'Heroes Of The Storm' => ['systName' => 'hots', 'description' => '
				', 'places' => '16', 'nbplayers' => '5'], 'Awesomenauts ' => ['systName' => 'awesomenauts', 'description' => '
				', 'places' => '16', 'nbplayers' => '3'], 'Rocket League' => ['systName' => 'rl', 'description' => '
				', 'places' => '16', 'nbplayers' => '3'], 'Team Fortress 2 ' => ['systName' => 'tf2', 'description' => '', 'places' => '16', 'nbplayers' => '5'], 'Hearthstone' => ['systName' => 'hearthstone', 'description' => '
				', 'places' => '64'], 'Super Smash Bros' => ['systName' => 'smash', 'description' => '
				'], 'Mario Smash Football' => ['systName' => 'mariofoot', 'description' => ''], 'Street Fighter V' => ['systName' => 'streetfighter', 'description' => ''], 'Splatoon' => ['systName' => 'splatoon', 'description' => ''], 'Starcraft 2' => ['systName' => 'starcraft', 'description' => ''], 'Guitar Hero' => ['systName' => 'guitarhero', 'description' => ''], 'Rock Band' => ['systName' => 'rockband', 'description' => ''], 'Super Smash Bros. Melee' => ['systName' => 'smashmelee', 'description' => ''], 'Mario Kart 8' => ['systName' => 'mkart', 'description' => ''], 'Stepmania' => ['systName' => 'stepmania', 'description' => ''], 'Osu' => ['systName' => 'osu', 'description' => ''], 'Trackmania' => ['systName' => 'trackmania', 'description' => ''], 'Oculus Rift' => ['systName' => 'oculus', 'description' => ''], 'Jeux de société' => ['systName' => 'jds', 'description' => ''], 'Jeu de rôle' => ['systName' => 'jdr', 'description' => '']);
        foreach ($list as $name => $systname) {
            $game = new Game();
            $game->setName($name);
            $game->setSystName($systname['systName']);
            $game->setDescription($systname['description']);
            if (array_key_exists('places', $systname)) {
                $game->setPlaces($systname['places']);
            }
            if (array_key_exists('nbplayers', $systname)) {
                $game->setNbplayers($systname['nbplayers']);
            }
            $manager->persist($game);
            $manager->flush();
        }
    }
Example #11
0
 public function createPostAction(Request $request)
 {
     $response = new Response();
     $requestData = json_decode($request->getContent(), true);
     $em = $this->getDoctrine()->getManager();
     $gameName = $requestData['gameName'];
     /** @var UserRepository $userRepository */
     $userRepository = $em->getRepository('AppBundle\\Entity\\User');
     /** @var User $user */
     $user = $userRepository->loadUserByUsername($this->getUser()->getUsername());
     /** @var Game $game */
     $game = new Game();
     $game->addUser($user);
     $gameName ? $game->setName($gameName) : $game->setName('Game by ' . $user->getUsername());
     $em->persist($game);
     $user->addGame($game);
     $em->flush();
     return $response->setContent(json_encode(['message' => 'Game successfully created.']));
 }
 /**
  * @param Request $request
  * @Route("/game/new", name="gameNew")
  * @Method({"GET", "POST"})
  * @Template("AppBundle:admin/form:game.html.twig")
  *
  * @link http://symfony.com/doc/2.8/cookbook/form/form_collections.html
  *
  * @return Response
  */
 public function newGameAction(Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     $game = new Game();
     $game->setGamedate(new \DateTime('now'));
     $score['host'] = new GameScore();
     $score['guest'] = new GameScore();
     $game->addScore($score['host']->setSide('host'));
     $game->addScore($score['guest']->setSide('guest'));
     $form = $this->createForm(GameType::class, $game, ['em' => $em, 'action' => $this->generateUrl('gameNew'), 'method' => Request::METHOD_POST])->add('save', SubmitType::class, array('label' => 'Save'));
     if ($request->getMethod() == 'POST') {
         $form->handleRequest($request);
         if ($form->isValid()) {
             $em->persist($game);
             $em->flush();
             return $this->redirectToRoute('adminGames');
         }
     }
     return ['form' => $form->createView()];
 }
Example #13
0
 /**
  * @param Game $game
  * @return array
  */
 public function getGameResult(Game $game)
 {
     $result = [];
     $totalTimeList = [];
     $totalCodesList = [];
     foreach ($game->getTeamGames() as $teamGame) {
         /** @var Game $game */
         $game = $teamGame->getGame();
         $finishedAt = $teamGame->getFinishedAt() ?: $game->getEndAt();
         $totalCodes = $teamGame->getGameCodes()->count();
         $totalTime = $finishedAt->format('U') - $game->getStartAt()->format('U');
         $hours = floor($totalTime / 3600);
         $min = $totalTime / 60 % 60;
         $sec = $totalTime % 60;
         $result[$teamGame->getId()] = ['team' => $teamGame->getTeam()->getName(), 'totalCodes' => $totalCodes, 'totalTime' => sprintf('%s ч., %s мин. %s сек.', $hours, $min, $sec)];
         $totalCodesList[$teamGame->getId()] = $totalCodes;
         $totalTimeList[$teamGame->getId()] = $totalTime;
     }
     array_multisort($totalCodesList, SORT_DESC, $totalTimeList, SORT_ASC, $result);
     return $result;
 }
Example #14
0
 public function load(ObjectManager $manager)
 {
     $faker = Factory::create();
     for ($i = 1; $i <= 100; $i++) {
         $game = new Game();
         $game->setDescription($faker->text());
         $game->setResult(rand(0, 5) . ":" . rand(0, 5));
         $manager->persist($game);
         $arrayId = array();
         while (count($arrayId) <= 1) {
             $id = rand(1, 24);
             if (array_search($id, $arrayId) === false) {
                 $arrayId[] = $id;
                 $team = $this->getReference("team {$id}");
                 $team->getGames()->add($game);
                 $game->getTeams()->add($team);
             }
         }
     }
     $manager->flush();
 }
Example #15
0
 /**
  * Creates a new Turn entity.
  *
  * @Route("/new/{id}", name="turn_new")
  * @Method({"GET", "POST"})
  * @Template("AppBundle:turn:new.html.twig")
  */
 public function newAction(Request $request, Game $game)
 {
     if (!$game->belongsTo($this->getUser())) {
         return $this->redirectToRoute('homepage');
     }
     $turn = (new Turn())->setGame($game);
     $form = $this->createForm(get_class(new TurnType()), $turn);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $turn->setUpdatedAt(new \DateTime());
         $em = $this->getDoctrine()->getManager();
         $em->persist($turn);
         $em->flush();
         if ($turn->getShareLink() !== '0') {
             $turn->generateShareLink();
             $em->persist($turn);
             $em->flush();
         }
         return $this->redirectToRoute('turn_show', array('id' => $turn->getId()));
     }
     return array('turn' => $turn, 'form' => $form->createView());
 }
Example #16
0
 protected function persistCompletedGame($winner = null)
 {
     //---------------------------------------------------------
     // New game in db
     $game = new Game();
     $game->setBoardSize(static::$boardSize);
     $game->setXPlayer(static::$xPlayer);
     $game->setOPlayer(static::$oPlayer);
     $game->setWinner($winner);
     $em = $this->getDoctrine()->getManager();
     $em->persist($game);
     $em->flush();
 }
Example #17
0
 public function testPlayerShipsAndOtherShips()
 {
     $user1 = $this->prophesize('AppBundle\\Entity\\User');
     $user2 = $this->prophesize('AppBundle\\Entity\\User');
     $user1Ships = ['A1'];
     $user2Ships = ['B2'];
     $user1->getId()->willReturn(1);
     $user2->getId()->willReturn(2);
     $this->game->setUser1Ships($user1Ships);
     $this->game->setUser2Ships($user2Ships);
     $this->game->setUser1($user1->reveal());
     $this->game->setUser2($user2->reveal());
     $this->game->setLoggedUser($user1->reveal());
     $this->assertEquals($user1Ships, $this->game->getPlayerShips());
     $this->assertEquals($user2Ships, $this->game->getOtherShips());
     $this->game->setLoggedUser($user2->reveal());
     $this->assertEquals($user2Ships, $this->game->getPlayerShips());
     $this->assertEquals($user1Ships, $this->game->getOtherShips());
 }
Example #18
0
 public function load(ObjectManager $manager)
 {
     $faker = \Faker\Factory::create();
     $game = new Game();
     $game->setDate($faker->dateTime());
     $game->setTeam1($this->getReference("team-1"));
     $game->setTeam2($this->getReference("team-2"));
     $game->setScoreTeam1($faker->numberBetween(0, 10));
     $game->setScoreTeam2($faker->numberBetween(0, 10));
     $manager->persist($game);
     $manager->flush();
     $this->addReference("game-1", $game);
     $game = new Game();
     $game->setDate($faker->dateTime());
     $game->setTeam1($this->getReference("team-3"));
     $game->setTeam2($this->getReference("team-4"));
     $game->setScoreTeam1($faker->numberBetween(0, 10));
     $game->setScoreTeam2($faker->numberBetween(0, 10));
     $manager->persist($game);
     $manager->flush();
     $this->addReference("game-2", $game);
     $game = new Game();
     $game->setDate($faker->dateTime());
     $game->setTeam1($this->getReference("team-5"));
     $game->setTeam2($this->getReference("team-6"));
     $game->setScoreTeam1($faker->numberBetween(0, 10));
     $game->setScoreTeam2($faker->numberBetween(0, 10));
     $manager->persist($game);
     $manager->flush();
     $this->addReference("game-3", $game);
     $game = new Game();
     $game->setDate($faker->dateTime());
     $game->setTeam1($this->getReference("team-7"));
     $game->setTeam2($this->getReference("team-8"));
     $game->setScoreTeam1($faker->numberBetween(0, 10));
     $game->setScoreTeam2($faker->numberBetween(0, 10));
     $manager->persist($game);
     $manager->flush();
     $this->addReference("game-4", $game);
 }
 /**
  * @param User $user
  * @param array $ships
  * @return Game
  */
 private function createGame(User $user, array $ships = [])
 {
     $entityManager = $this->getEntityManager();
     $game = new Game();
     $game->setLoggedUser($user)->setUser1($user)->setPlayerShips($ships);
     $entityManager->persist($game);
     $entityManager->flush();
     return $game;
 }
Example #20
0
 /**
  * @param Game $game
  */
 public function addGameTeam2(Game $game)
 {
     $game->setTeam2Id($this);
     $this->gameTeam2[] = $game;
     return $this;
 }
Example #21
0
 public function testIsValidFlipTypeReturnsFalseForInvalidFlipTypes()
 {
     $invalidType1 = 0;
     $invalidType2 = 3;
     $this->assertFalse(Game::isValidFlipType($invalidType1));
     $this->assertFalse(Game::isValidFlipType($invalidType2));
 }
Example #22
0
 /**
  * @param bool $forceNew
  *
  * @return Game
  * @throws Exception
  */
 public function getCurrentGame($forceNew = false)
 {
     if (true === $forceNew) {
         $this->currentGame = null;
     }
     if (!$this->currentGame instanceof Game) {
         if (false === $forceNew && $this->session->has(static::SESSION_CURRENT_GAME)) {
             $this->currentGame = $this->gameRepository->find($this->session->get(static::SESSION_CURRENT_GAME));
         } else {
             $queenBee = $this->queenBeeRepository->findOneBy(['name' => static::DEFAULT_QUEEN_BEE_NAME]);
             if (!$queenBee instanceof QueenBee) {
                 throw new Exception('? did you change the database ?');
             }
             $newGame = new Game();
             $newGame->setQueenBee($queenBee);
             $this->entityManagerInterface->persist($newGame);
             $this->entityManagerInterface->flush($newGame);
             $this->session->set(static::SESSION_CURRENT_GAME, $newGame->getId());
             $this->currentGame = $newGame;
         }
     }
     return $this->currentGame;
 }
Example #23
0
 /**
  *
  * return 404 { status: 'pending' } ou 200 {coord: {y: 12, x: 13}}
  * @ApiDoc(
  *      description="Récupère les informations sur le coup de l'adversaire.",
  *      section="4 - Jeu",
  *      authentication=true,
  *      statusCodes={
  *          200: "L'adversaire a joué son coup. Renvoie les informations sur le coup (case visée).",
  *          404: "L'adversaire n'a pas encore joué ce coup."
  *      }
  * )
  * @ParamConverter("game", class="AppBundle:Game", options={"id" = "game_id"})
  * @QueryParam(name="secret", nullable=true, description="Secret du joueur")
  * @Get("/api/v1/games/{game_id}/moves/{move_id}", name="retrieve_shot_api") ou /moves?
  * @Get("/games/{game_id}/moves/{move_id}", name="retrieve_shot") ou /moves?
  */
 public function retrieveShotAction(Game $game, $move_id, ParamFetcher $paramFetcher)
 {
     $move = $game->retrieveShot($move_id);
     if ($move === false) {
         return $this->view(array('info' => 'Move doesn\'t exist.'), 404)->setTemplate('AppBundle:Api:shoot_z.html.twig')->setTemplateData(array('move_id' => $move_id, 'game' => $game, 'secret' => $paramFetcher->get('secret')));
     }
     return $this->view(array('move' => $move), 200)->setTemplate('AppBundle:Api:shoot_move.html.twig')->setTemplateData(array('move' => $move, 'game' => $game, 'secret' => $paramFetcher->get('secret')));
 }
 /**
  * Example request in <strong>Content</strong>:
  *  <pre>{"joinGame":true,"playerShips":["A1","C2","D2","F2","H2","J2","F5","F6","I6","J6","A7","B7","C7","F7","F8","I9","J9","E10","F10","G10"]}</pre>
  *
  * @ApiDoc(
  *  resource=true,
  *  description="Update game",
  *  section="Game",
  *  statusCodes={
  *     204="Game updated",
  *     400="Incorrect parameter provided",
  *     403="No access to game",
  *     404="Game not found",
  *  }
  * )
  *
  * @Tag(expression="'game-' ~ game.getId()")
  * @Tag(expression="'game-' ~ game.getId() ~ 'events'"))
  * @Tag("games")
  * @Security("request.request.get('joinGame') ? game.canJoin(user) : game.belongsToUser(user)")
  * @RequestParam(name="joinGame", requirements=@Assert\EqualTo("true"), allowBlank=true, nullable=true)
  * @RequestParam(name="playerShips", requirements="[A-J]([1-9]|10)", allowBlank=true, map=true)
  *
  * @param ParamFetcher $paramFetcher
  * @param Game $game
  */
 public function patchGameAction(ParamFetcher $paramFetcher, Game $game)
 {
     if ($paramFetcher->get('joinGame')) {
         $game->setUser2($this->getUser());
         $this->createEvent($game, Event::TYPE_JOIN_GAME);
     }
     $playerShips = $paramFetcher->get('playerShips');
     if ($playerShips) {
         $game->setPlayerShips($playerShips);
         $this->createEvent($game, Event::TYPE_START_GAME);
     }
     $this->entityManager->persist($game);
     $this->entityManager->flush();
 }
 /**
  * @param Client $client
  * @param Game $game
  * @param string $apiKey
  * @return Response
  */
 private function callGetEvents(Client $client, Game $game, $apiKey)
 {
     $client->request('GET', sprintf('/v1/games/%d/events', $game->getId()), [], [], ['HTTP_ACCEPT' => 'application/json', 'HTTP_AUTHORIZATION' => 'Bearer ' . $apiKey]);
     return $client->getResponse();
 }
Example #26
0
 private function roundEnd(Game $game, $userId)
 {
     $gameField = json_decode($game->getJson(), true);
     if (!$gameField[Gamehelper::USER1][GameHelper::USER_PASSED] && $gameField[Gamehelper::USER2][GameHelper::USER_PASSED] && $userId == $gameField[GameHelper::USER1][GameHelper::USER_ID] || !$gameField[Gamehelper::USER2][GameHelper::USER_PASSED] && $gameField[Gamehelper::USER1][GameHelper::USER_PASSED] && $userId == $gameField[GameHelper::USER2][GameHelper::USER_ID]) {
         return true;
     } else {
         return false;
     }
 }
 /**
  * @Route("/admin/insert/game/", name="game_insert_admin")
  *
  */
 public function generateGameAction()
 {
     $teams = $this->getDoctrine()->getRepository('AppBundle:Team')->findAll();
     if (!$teams) {
         throw $this->createNotFoundException('Not found');
     }
     $count = 0;
     $arr = array();
     foreach ($teams as $team) {
         $arr[$count] = $team;
         $count++;
     }
     $faker = Factory::create();
     $em = $this->getDoctrine()->getManager();
     for ($i = 0; $i < 20; $i++) {
         $game = new Game();
         $game->setDateGame($faker->dateTime);
         $goals1 = rand(0, 5);
         $goals2 = rand(0, 5);
         $team1 = $arr[rand(0, $count - 1)];
         $team2 = $arr[rand(0, $count - 1)];
         $game->setGoals1($goals1);
         $game->setGoals2($goals2);
         $game->setTeam1($team1->getCountry());
         $game->setTeam2($team2->getCountry());
         $game->setTeam1Id($team1);
         $game->setTeam2Id($team2);
         $em->persist($game);
     }
     $em->flush();
     $this->addFlash('notice', 'Add games!');
     return $this->forward('AppBundle:Admin:show');
 }
Example #28
0
 /**
  * Creates a form to delete a Game entity.
  *
  * @param Game $game The Game entity
  *
  * @return \Symfony\Component\Form\Form The form
  */
 private function createDeleteForm(Game $game)
 {
     return $this->createFormBuilder()->setAction($this->generateUrl('game_delete', array('id' => $game->getId())))->setMethod('DELETE')->getForm();
 }
Example #29
0
 /**
  * @Route("/secure/game-remove-player/{id}", requirements={"id" = "\d+"}, name="game_remove_player")
  */
 public function removePlayerAction(Game $game, Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     //make sure only game players can remove themselves
     $user = $this->getUser();
     if (!$game->isUserInGame($user)) {
         return $this->redirectToRoute('game_home');
     }
     if ($request->isMethod('POST')) {
         $em->getRepository('AppBundle:Game')->removeUserFromGame($user, $game);
         $this->notifyPlayersOfGameUpdate($game);
         $this->addFlash('notice', 'You have been removed from this game');
         return $this->redirectToRoute('game_view', array('id' => $game->getId()), 301);
     }
     // we should never get to this point
 }
 public function load(\Doctrine\Common\Persistence\ObjectManager $manager)
 {
     $faker = \Faker\Factory::create();
     $userManager = $this->container->get('fos_user.user_manager');
     $addPlayer = function ($i, $team) use($manager, $userManager, $faker) {
         /** @var User $user */
         $user = $userManager->createUser();
         $user->setUsername('player' . $i);
         $user->setEmail('player' . $i . '@mailinator.com');
         $user->setPlainPassword('123456');
         $user->setEnabled(true);
         $user->setRoles(array('ROLE_USER', 'ROLE_PLAYER'));
         //            $user->setGcmRegistrationId($faker->uuid);
         $userManager->updateUser($user, true);
         $player = new Player();
         $player->setActive(true);
         $player->setAlias($faker->name);
         $player->setUser($user);
         $this->addReference('player' . $i, $player);
         $player->setImage($this->getReference('image' . rand(1, 19)));
         $manager->persist($player);
         $team->addPlayer($player);
     };
     $team1 = new Team();
     $team1->setActive(true);
     $team1->setName($faker->word);
     $manager->persist($team1);
     for ($i = 1; $i <= 5; $i++) {
         $addPlayer($i, $team1);
     }
     $team2 = new Team();
     $team2->setActive(true);
     $team2->setName($faker->word);
     $manager->persist($team2);
     for ($i = 6; $i <= 10; $i++) {
         $addPlayer($i, $team2);
     }
     $game = new Game();
     $game->setTeam1($team1);
     $game->setTeam2($team2);
     $game->setActive(true);
     $endTime = new DateTime();
     $endTime->add(new DateInterval('PT15M'));
     $game->setEndTimeStamp($endTime);
     $this->addReference('game', $game);
     $manager->persist($team1);
     $manager->persist($team2);
     $queue = new Team();
     $queue->setActive(true);
     $queue->setName('queue');
     $manager->persist($queue);
     $manager->persist($game);
     for ($i = 1; $i < 10; $i++) {
         $team = new Team();
         $team->setName($faker->word);
         $team->setActive(true);
         $team->setPoints(rand(10, 400));
         $manager->persist($team);
     }
     for ($i = 11; $i < 20; $i++) {
         /** @var User $user */
         $user = $userManager->createUser();
         $user->setUsername('player' . $i);
         $user->setEmail('player' . $i . '@mailinator.com');
         $user->setPlainPassword('123456');
         $user->setEnabled(true);
         $user->setRoles(array('ROLE_USER', 'ROLE_PLAYER'));
         $userManager->updateUser($user, true);
         $player = new Player();
         $player->setActive(true);
         $player->setAlias($faker->name);
         $player->setUser($user);
         $this->addReference('player' . $i, $player);
         $player->setImage($this->getReference('image' . rand(1, 19)));
         $manager->persist($player);
     }
     $manager->flush();
 }