示例#1
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     /** @var Board[] $boards */
     $boards = array($this->getReference('board-0'));
     /** @var Player[] $players */
     $players = array($this->getReference('player-0'), $this->getReference('player-1'), $this->getReference('player-2'));
     $tournamentSetup = new TournamentSetup();
     $tournamentSetup->setSeed(RoundSetupSeed::create([[$players[0]->getId(), $players[1]->getId(), $players[2]->getId()]]));
     $round1 = RoundSetupAva::createStraight();
     $round1->setGameMode(new GameMode(GameMode::FIRST_TO, 1));
     $round1->setLegMode(new LegMode(LegMode::SINGLE_OUT_301));
     $tournamentSetup->addRound($round1);
     $tournament = new Tournament();
     $tournament->setName('real simple');
     $tournament->setSetup($tournamentSetup);
     $tournament->setBoards($boards);
     $tournament->setPlayers($players);
     $this->setReference('tournament-0', $tournament);
     $manager->persist($tournament);
     $manager->flush();
 }
 protected function getRealSimpleTournament()
 {
     /** @var Board[] $boards */
     $boards = array($this->fixtures->getReference('board-0'));
     /** @var Player[] $players */
     $players = array($this->fixtures->getReference('player-0'), $this->fixtures->getReference('player-1'), $this->fixtures->getReference('player-2'));
     $tournamentSetup = new TournamentSetup();
     $tournamentSetup->setSeed(RoundSetupSeed::create([[$players[0]->getId(), $players[1]->getId(), $players[2]->getId()]]));
     $round1 = RoundSetupAva::createStraight();
     $round1->setGameMode(new GameMode(GameMode::FIRST_TO, 3));
     $round1->setLegMode(new LegMode(LegMode::SINGLE_OUT_301));
     $tournamentSetup->addRound($round1);
     $tournament = new Tournament();
     $tournament->setName('real simple');
     $tournament->setSetup($tournamentSetup);
     $tournament->setBoards($boards);
     $tournament->setPlayers($players);
     /** @var \Doctrine\ORM\EntityManager $entityManager */
     $entityManager = $this->getContainer()->get('doctrine.orm.default_entity_manager');
     $entityManager->persist($tournament);
     return $tournament;
 }
示例#3
0
 /**
  * @param PlayerManager $playerManager to resolve player-IDs
  * @return Tournament
  * @throws \Exception
  */
 public function createTournament(PlayerManager $playerManager)
 {
     if ($this->preset == self::PRESET_TEST) {
         $setup = PresetTesting::create($this->getPlayerIdsGrouped());
     } elseif ($this->preset == self::PRESET_SIMPLE) {
         $setup = PresetSimple::create($this->getPlayerIdsGrouped());
         // TODO implement missing presets
         //        } elseif ($this->preset == self::PRESET_FULL) {
         //            $setup = PresetFull::create($this->numberOfGroups);
         //        } elseif ($this->preset == self::PRESET_LEAGUE) {
         //            $setup = PresetLeague::create($this->numberOfGroups);
     } else {
         throw new \Exception('TODO');
     }
     $tournament = new Tournament();
     $tournament->setName($this->name);
     $tournament->setSetup($setup);
     $tournament->setBoards($this->boards);
     $players = array();
     foreach ($this->getPlayerIds() as $playerId) {
         $players[] = $playerManager->getPlayer($playerId);
     }
     $tournament->setPlayers($players);
     return $tournament;
 }