Exemple #1
0
 /**
  * @test
  * @dataProvider birthDateToAge
  */
 public function calculateAge($birthDate, $age)
 {
     $player = new Player();
     $player->setBirth(new DateTime($birthDate));
     $currentDate = new DateTime("2015-10-15");
     $this->assertEquals($age, $player->getAge($currentDate));
 }
 /**
  * @Route("/generate", name="fakeEntityGenerator")
  * @Method("GET")
  */
 public function generateAction()
 {
     $faker = Factory::create();
     $em = $this->getDoctrine()->getManager();
     foreach ($this->countryNames as $countryName) {
         $country = new Country();
         $country->setName($countryName);
         $country->setFlag($countryName . '.png');
         $country->setDescription($faker->text(3000));
         $team = new Team();
         $team->setName($countryName);
         $team->setDescription($faker->text(3000));
         $team->setCountry($country);
         for ($i = 0; $i < 16; $i++) {
             $player = new Player();
             $player->setName($faker->name);
             $player->setDescription($faker->text(3000));
             $player->setTeam($team);
             $em->persist($player);
         }
         for ($i = 0; $i < 4; $i++) {
             $coach = new Coach();
             $coach->setName($faker->name);
             $coach->setDescription($faker->text(3000));
             $coach->setTeam($team);
             $em->persist($coach);
         }
         $em->persist($country);
         $em->persist($team);
     }
     $em->flush();
     return $this->redirectToRoute('homePage');
 }
 public function set(Player $player, Stats $stats)
 {
     $builder = $this->gameRepository->findByPlayer($player->getId());
     $builder->setMaxResults(50);
     $builder->orderBy('game.date', 'DESC');
     $results = $builder->getQuery()->getResult();
     $stats->setGames($results);
 }
Exemple #4
0
 private function addResult(Player $player, array $result, array &$matches)
 {
     if ($result['p1'] == $player->getId()) {
         $this->setMatch($matches, $result, 'p2', Game::P1WINNER);
     } else {
         $this->setMatch($matches, $result, 'p1', Game::P2WINNER);
     }
 }
Exemple #5
0
 public function set(Player $player, Stats $stats)
 {
     $builder = $this->gameRepository->findLostGamesByPlayer($player->getId());
     $builder->select($builder->expr()->count('game.id'));
     $value = $builder->getQuery()->getSingleScalarResult();
     if ($value == 0) {
         $stat = new Stat('Total lost', $value, 0);
     } else {
         $stat = new Stat('Total lost', $value, $value / $this->totalGames($player) * 100);
     }
     $stats->addStat($stat);
 }
 public function set(Player $player, Stats $stats)
 {
     $builder = $this->gameRepository->findByPlayer($player->getId());
     $builder->select('COUNT(game.id)');
     $builder->andWhere($builder->expr()->eq('game.wintype', Game::WINTYPE_BACKGAMMON));
     $result = $builder->getQuery()->getSingleScalarResult();
     if ($result == 0) {
         $stat = new Stat('Total backgammons', $result, 0);
     } else {
         $stat = new Stat('Total backgammons', $result, round($result / $this->totalGames($player) * 100, 2));
     }
     $stats->addStat($stat);
 }
 protected function setUpTwoPlayerGame($game)
 {
     $user1 = $this->em->getRepository('AppBundle:User')->find(1);
     $player1 = new Player($user1, Game::FLIP_TYPE_HEADS);
     $player1->setGame($game);
     $this->em->persist($player1);
     $user2 = $this->em->getRepository('AppBundle:User')->find(2);
     $player2 = new Player($user2, Game::FLIP_TYPE_TAILS);
     $player2->setGame($game);
     $this->em->persist($player2);
     $game->setRandomGenerator(new RandomHeadTailsGenerator());
     $game->playGame();
     $this->em->flush();
 }
 protected function setUpTwoPlayerGameWhereOnlyOnePlayerHasViewedTheGame($manager)
 {
     $game = $this->getReference('game-utah');
     $player1 = new Player($this->getReference('user-ricardo75'), Game::FLIP_TYPE_HEADS);
     $player1->setGame($game);
     $manager->persist($player1);
     $player2 = new Player($this->getReference('user-flipshark'), Game::FLIP_TYPE_TAILS);
     $player2->setGame($game);
     $player2->setViewedGame(true);
     $manager->persist($player2);
     $game->setRandomGenerator(new RandomHeadTailsGenerator());
     $game->playGame();
     $manager->flush();
 }
 /**
  * @param Player $p1
  * @param Player $p2
  *
  * @return PlayerGame
  */
 public function getPlayerstats(Player $p1, Player $p2)
 {
     $elo = new Elo($p1->getElo(), $p2->getElo(), 1, 0);
     $expected = $elo->getExpected();
     $player1win = $elo->getRatings();
     $elo = new Elo($p1->getElo(), $p2->getElo(), 0, 1);
     $player2win = $elo->getRatings();
     $chance1 = new PlayerChance();
     $chance1->setPlayer($p1)->setChance($expected['a'] * 100)->setWinNormal($player1win['a'])->setWinGammon($this->calculateGammon($p1->getElo(), $player1win['a'], self::GAMMON))->setWinBackgammon($this->calculateGammon($p1->getElo(), $player1win['a'], self::BACKGAMMON))->setLoseNormal($player2win['a'])->setLoseGammon($this->calculateGammon($p1->getElo(), $player2win['a'], self::GAMMON))->setLoseBackgammon($this->calculateGammon($p1->getElo(), $player2win['a'], self::BACKGAMMON));
     $chance2 = new PlayerChance();
     $chance2->setPlayer($p2)->setChance($expected['b'] * 100)->setWinNormal($player2win['b'])->setWinGammon($this->calculateGammon($p2->getElo(), $player2win['b'], self::GAMMON))->setWinBackgammon($this->calculateGammon($p2->getElo(), $player2win['b'], self::BACKGAMMON))->setLoseNormal($player1win['b'])->setLoseGammon($this->calculateGammon($p2->getElo(), $player1win['b'], self::GAMMON))->setLoseBackgammon($this->calculateGammon($p2->getElo(), $player1win['b'], self::BACKGAMMON));
     $data = new PlayerGame();
     $data->setPlayer1($chance1)->setPlayer2($chance2);
     return $data;
 }
 /**
  * @param string $name
  * @return Player
  * @throws \Exception
  * @throws \InvalidArgumentException
  */
 public function addPlayer($name)
 {
     $player = $this->playerRepository->findOneBy(['name' => $name]);
     if (!$player) {
         $player = new Player();
         $player->setName($name);
         try {
             $this->playerRepository->getManager()->persist($player);
             $this->playerRepository->getManager()->flush();
             return $player;
         } catch (\Exception $e) {
             throw $e;
         }
     }
     throw new \InvalidArgumentException();
 }
Exemple #11
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;
 }
Exemple #12
0
 public function load(ObjectManager $manager)
 {
     $faker = Factory::create();
     for ($i = 1; $i <= 24; $i++) {
         $team = new Team();
         $team->setInfo($faker->text(2000));
         $country = $this->getReference("country {$i}");
         $team->setCountry($country);
         $this->setReference("team {$i}", $team);
         $manager->persist($team);
         $manager->flush();
         for ($k = 1; $k <= 11; $k++) {
             $player = new Player();
             $player->setFirstName($faker->firstNameMale);
             $player->setLastName($faker->lastName);
             $player->setBiography($faker->text(200));
             $player->setDateOfBirthday($faker->date('Y-m-d'));
             $player->setTeam($team);
             $team->getPlayers()->add($player);
             $manager->persist($player);
         }
         // the same for coaches
         for ($k = 1; $k <= 5; $k++) {
             $coach = new Coach();
             $coach->setName($faker->name);
             $coach->setBiography($faker->text(200));
             $coach->setTeam($team);
             $team->getCoaches()->add($coach);
             $manager->persist($coach);
         }
     }
     $manager->flush();
 }
 /**
  * Send form
  * 
  * @Route("/send-form")
  * @Method("POST")
  */
 public function sendForm(Request $request)
 {
     $gifts = array('day05' => 1, 'day12' => 1, 'day15' => 1, 'day19' => 3, 'day20' => 1, 'day21' => 3, 'day27' => 5, 'day29' => 3);
     if (null === ($content = $request->getContent())) {
         throw new BadRequestHttpException('No content given');
     }
     $content = json_decode($content, true);
     if (null === $content) {
         throw new BadRequestHttpException('Unparsable content given');
     }
     if (substr($content['day'], 3, 2) !== date('j')) {
         return new JsonResponse(array('errors' => array('This is not the good day !')));
     }
     $repo = $this->getDoctrine()->getRepository('AppBundle:Player');
     $player = new Player();
     $player->setEmail(isset($content['email']) ? $content['email'] : null)->setFirstname(isset($content['firstname']) ? $content['firstname'] : null)->setLastname(isset($content['lastname']) ? $content['lastname'] : null)->setDay(isset($content['day']) ? $content['day'] : null);
     $validator = $this->get('validator');
     $errors = $validator->validate($player);
     if (count($errors) > 0) {
         $messages = array();
         foreach ($errors as $error) {
             $messages[] = $error->getMessage();
         }
         return new JsonResponse(array('errors' => $messages), 200);
     }
     $checksum = hash('md5', $player->getEmail() . $content['day']);
     $hacker = count($repo->findBy(array('checksum' => $checksum, 'day' => $content['day'])));
     $winnersOfTheDay = count($repo->findBy(array('winner' => true, 'day' => $content['day'])));
     $win = false;
     if ($hacker == 0 && $winnersOfTheDay < $gifts[$content['day']]) {
         /* Algorithme selection vainqueur */
         $rand = mt_rand(1, 10);
         if ($rand == 1) {
             $win = true;
             $message = \Swift_Message::newInstance()->setSubject('Beautiful Wishes')->setFrom('*****@*****.**')->setTo(array('*****@*****.**', '*****@*****.**'))->setBody($this->renderView('AppBundle:Calendar:email.txt.twig', array('player' => $player)));
             $this->get('mailer')->send($message);
         }
     }
     $player->setWinner($win)->setChecksum($checksum);
     $em = $this->getDoctrine()->getManager();
     $em->persist($player);
     $em->flush();
     return new JsonResponse(array('errors' => $errors, 'win' => $win), 200);
 }
 public function createNewUser($token, $email, UserResponseInterface $response = null)
 {
     $userManager = $this->container->get('fos_user.user_manager');
     /** @var User $user */
     $user = $userManager->createUser();
     $user->setUsername($token);
     $user->setEmail($email);
     $user->setPlainPassword('fejsbukLogin');
     $user->setEnabled(true);
     $user->setRoles(array('ROLE_USER'));
     $userManager->updateUser($user, true);
     $player = new Player();
     if (!is_null($response)) {
         $image = $response->getProfilePicture();
         $img = new Image();
         $img->setActive(true);
         $name = time() . '.jpg';
         $img->setImageName($name);
         $imgFile = realpath(__DIR__ . '/../../../web/uploads/images/default/') . '/' . $name;
         file_put_contents($imgFile, file_get_contents($image));
         $player->setImage($img);
         $player->setAlias($response->getRealName());
     } else {
         $player->setAlias($email);
     }
     $player->setActive(true);
     $player->setUser($user);
     $this->container->get('doctrine')->getManager()->persist($img);
     $this->container->get('doctrine')->getManager()->persist($player);
     $this->container->get('doctrine')->getManager()->flush();
     return $user;
 }
 public function load(ObjectManager $manager)
 {
     $faker = \Faker\Factory::create();
     $x = 0;
     while ($x++ < 23) {
         $team = $this->getReference("team-{$x}");
         $i = 0;
         while ($i++ < 14) {
             $player = new Player();
             $player->setName($faker->firstName);
             $player->setLastName($faker->lastName);
             $player->setDescription($faker->text);
             $player->setTeam($team);
             $manager->persist($player);
             $manager->flush();
         }
         $i = 0;
         while ($i++ < 4) {
             $coach = new Coach();
             $coach->setName($faker->firstName);
             $coach->setLastName($faker->lastName);
             $coach->setDescription($faker->text);
             $coach->setTeam($team);
             $manager->persist($coach);
             $manager->flush();
         }
     }
 }
 /**
  * @param Player|null $not
  * @return Player
  */
 private function randomPlayer(Player $not = null)
 {
     while (true) {
         $random = $this->faker->randomElement($this->players);
         if ($not === null) {
             return $random;
         }
         if ($random->getName() !== $not->getName()) {
             return $random;
         }
     }
     return null;
 }
 /**
  * @Route("/seed/players")
  */
 public function createPlayers()
 {
     $players = array(array('name' => 'Sheldon', 'age' => 36, 'not_sheldon' => 0), array('name' => 'Penny', 'age' => 30, 'not_sheldon' => 1), array('name' => 'Leonard', 'age' => 38, 'not_sheldon' => 1), array('name' => 'Raj', 'age' => 32, 'not_sheldon' => 1), array('name' => 'Wheaton', 'age' => 33, 'not_sheldon' => 1));
     foreach ($players as $player) {
         $names[] = $player['name'];
         $object = new Player();
         $object->setName($player['name']);
         $object->setAge($player['age']);
         $object->setNotSheldon($player['not_sheldon']);
         $em = $this->getDoctrine()->getManager();
         $em->persist($object);
         $em->flush();
         $ids[] = $object->getId();
         $object = NULL;
         $em = NULL;
     }
     $ret = '';
     foreach ($names as $name) {
         $ret .= $name . '<br>';
     }
     return new Response("The following Players's where created<br> {$ret}");
 }
 /**
  * @param Team $team
  * @return Player
  */
 public function generatePlayer(Team $team)
 {
     $data = Factory::create();
     $player = new Player();
     $player->setAge($data->numberBetween(18, 30));
     $player->setCountry($data->country);
     $player->setName($data->name);
     $player->setTeam($team);
     return $player;
 }
Exemple #19
0
 public function generatePlayer()
 {
     $faker = Factory::create();
     $player = new Player();
     $em = $this->getDoctrine()->getManager();
     for ($i = 0; $i < 10; $i++) {
         $player->setFirstName($faker->firstNameMale);
         $player->setLastName($faker->lastName);
         $player->setBirthDay($faker->dateTime);
         $player->setBiography($faker->text);
         $em->persist($player);
     }
     $em->flush();
     $this->redirectToRoute('homepage');
 }
 public function getSquads(Team $team)
 {
     $params = array('age' => '', 'ageComparisonType' => '', 'appearances' => '', 'appearancesComparisonType' => '', 'category' => 'summary', 'field' => 'Overall', 'includeZeroValues' => 'true', 'isCurrent' => 'true', 'isMinApp' => 'false', 'matchId' => '', 'nationality' => '', 'numberOfPlayersToPick' => '', 'page' => '', 'playerId' => '', 'positionOptions' => '', 'sotAscending' => '', 'sortBy' => 'Rating', 'stageId' => '', 'statsAccumulationType' => 0, 'subcategory' => 'all', 'teamIds' => $team->getWsId(), 'timeOfTheGameEnd' => '', 'timeOfTheGameStart' => '', 'tournamentOptions' => '');
     try {
         $data = $this->whoscored->loadStatistics('player-stats', $params);
     } catch (\Exception $e) {
         throw $e;
     }
     if (empty($data->playerTableStats)) {
         throw new \Exception('No player data found');
     }
     foreach ($data->playerTableStats as $playerData) {
         $player = null;
         if (array_key_exists($playerData->playerId, $this->players)) {
             $player = $this->players[$playerData->playerId];
         } else {
             $player = $this->em->getRepository('AppBundle:Player')->findOneByWsId($playerData->playerId);
         }
         if ($player == null) {
             $player = new Player();
             $player->setFirstName($playerData->firstName);
             $player->setLastName($playerData->lastName);
             $player->setKnownName($playerData->name);
             $player->setAge($playerData->age);
             $player->setWsId($playerData->playerId);
             if ($playerData->isActive == false) {
                 $teamId = $this->whoscored->getActiveTeam($playerData->playerId);
                 try {
                     $ret = $this->getTeam($teamId);
                     $player->setTeam($ret);
                 } catch (\Exception $e) {
                 }
             } else {
                 $player->setTeam($team);
             }
             $this->em->persist($player);
         }
         $this->players[$playerData->playerId] = $player;
     }
     $this->em->flush();
 }
 /**
  * @Route("/admin/insert/player/{id}", name="player_insert_admin", requirements={"id" : "\d+"})
  */
 public function generatePlayerAction($id)
 {
     $teams = $this->getDoctrine()->getRepository('AppBundle:Team')->find($id);
     if (!$teams) {
         throw $this->createNotFoundException('Not found');
     }
     $faker = Factory::create();
     $em = $this->getDoctrine()->getManager();
     for ($i = 0; $i < 11; $i++) {
         $player = new Player();
         $player->setTeam($teams);
         $player->setFirstName($faker->firstNameMale);
         $player->setLastName($faker->lastName);
         $player->setBirthDay($faker->dateTime);
         $player->setBiography($faker->text);
         $em->persist($player);
     }
     $em->flush();
     $this->addFlash('notice', 'Add players!');
     return $this->forward('AppBundle:Admin:show');
 }
Exemple #22
0
 public function freePlayerAction($userId, $gameId, $origin)
 {
     $player = new Player();
     $user = $this->getDoctrine()->getRepository('AppBundle:User')->find($userId);
     $player->setUser($user);
     $game = $this->getDoctrine()->getRepository('AppBundle:Game')->find($gameId);
     $systName = $game->getSystName();
     $player->setGame($game);
     $em = $this->getDoctrine()->getManager();
     $em->persist($player);
     $em->flush();
     if ($origin == 'index') {
         return $this->redirectToRoute('labelilan');
     } elseif ($origin == 'show') {
         return $this->redirectToRoute('game_show', ['id' => $game->getId()]);
     }
 }
Exemple #23
0
 /**
  * Add players
  *
  * @param \AppBundle\Entity\Player $player
  * @return Team
  */
 public function addPlayer(\AppBundle\Entity\Player $player)
 {
     $this->players[] = $player;
     $player->setTeam($this);
     return $this;
 }
Exemple #24
0
 public function testGetFlipTypeAsStringReturnsTailsStringForTailsFlipType()
 {
     $expected = 'tails';
     $player1 = new Player($this->user1, Game::FLIP_TYPE_TAILS);
     $this->assertEquals($expected, $player1->getFlipTypeAsString());
 }
 protected function createPlayerAddToGameAndPersist(User $user, Game $game, $flipType, EntityManager $em)
 {
     $player = new Player($user, $flipType);
     // this method sets the players game and also adds the player to the game
     $player->setGame($game);
     $em->persist($player);
 }
 /**
  * @param Player $player
  * @return array
  */
 public function getGamesPrDay(Player $player)
 {
     $rsm = new ResultSetMapping();
     $rsm->addScalarResult('counter', 'counter', 'integer');
     $rsm->addScalarResult('date', 'date', 'datetime');
     $sql = 'SELECT COUNT(*) as counter, date FROM game WHERE player1_id = :p1 OR player2_id = :p2 GROUP BY DAY(date)';
     $nq = $this->_em->createNativeQuery($sql, $rsm);
     $nq->setCacheable(true);
     $nq->setResultCacheLifetime(30);
     $nq->setResultCacheId(sprintf('games_pr_day_%d', $player->getId()));
     $nq->setParameter(':p1', $player->getId(), 'integer');
     $nq->setParameter(':p2', $player->getId(), 'integer');
     return $nq->execute();
 }
Exemple #27
0
 /**
  * Creates all possible team combination with the new player
  *
  * @param EntityManager $em
  * @param Player $newPlayer
  */
 private function createTeamsForNewPlayer(EntityManager $em, Player $newPlayer)
 {
     $players = $em->getRepository('AppBundle:Player')->findAll();
     foreach ($players as $existingPlayer) {
         if ($existingPlayer->getId() === $newPlayer->getId()) {
             continue;
         }
         $team = new Team();
         $team->setPlayerA($existingPlayer);
         $team->setPlayerB($newPlayer);
         $em->persist($team);
     }
     $em->flush();
 }
 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();
 }
Exemple #29
0
 /**
  * @param Player $player
  */
 public function addPlayer(Player $player)
 {
     $player->setTeam($this);
     $this->players[] = $player;
     return $this;
 }
Exemple #30
0
 /**
  * @param  Player $player
  */
 public function addPlayer(\AppBundle\Entity\Player $player)
 {
     $player->setTeam($this);
     $this->player[] = $player;
 }