/** * @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); }
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); } }
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(); }
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; }
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; }
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'); }
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()]); } }
/** * Add players * * @param \AppBundle\Entity\Player $player * @return Team */ public function addPlayer(\AppBundle\Entity\Player $player) { $this->players[] = $player; $player->setTeam($this); return $this; }
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(); }
/** * 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(); }
/** * @param Player $player */ public function addPlayer(Player $player) { $player->setTeam($this); $this->players[] = $player; return $this; }
/** * @param Player $player */ public function addPlayer(\AppBundle\Entity\Player $player) { $player->setTeam($this); $this->player[] = $player; }