예제 #1
0
 public static function create($playerIdByGroup)
 {
     $setup = new TournamentSetup();
     $seed = RoundSetupSeed::create($playerIdByGroup);
     // create seed with n groups
     $seed->setAdvance(-1);
     // seed defaults to advance -1
     $setup->setSeed($seed);
     $groupRound = RoundSetupAva::createStraight();
     // create an AvA round with straight input
     $groupRound->setAdvance(2);
     // each group, best 2 advance
     $groupRound->setGameMode(new GameMode(GameMode::FIRST_TO, 3));
     $groupRound->setLegMode(new LegMode(LegMode::SINGLE_OUT_301));
     $setup->addRound($groupRound);
     // adding bottom first walking upwards
     $crisCrossRound = RoundSetupAva::createStep(1);
     // create an AvA round with step-1 input
     $crisCrossRound->setAdvance(1);
     $crisCrossRound->setGameMode(new GameMode(GameMode::FIRST_TO, 3));
     $crisCrossRound->setLegMode(new LegMode(LegMode::SINGLE_OUT_301));
     $setup->addRound($crisCrossRound);
     $xRound = RoundSetupAva::createReduce();
     // create an AvA round with reduce input
     $xRound->setAdvance(2);
     $xRound->setGameMode(new GameMode(GameMode::FIRST_TO, 3));
     $xRound->setLegMode(new LegMode(LegMode::SINGLE_OUT_301));
     $setup->addRound($xRound);
     $yRound = RoundSetupAva::createSamePlace();
     // create an AvA round with same-place input
     $yRound->setAdvance(2);
     $yRound->setGameMode(new GameMode(GameMode::FIRST_TO, 3));
     $yRound->setLegMode(new LegMode(LegMode::SINGLE_OUT_301));
     $setup->addRound($yRound);
     $zRound = RoundSetupNull::createStack();
     // create an Null round with stack input
     $zRound->setAdvance(-1);
     // null defaults to advance -1
     $setup->addRound($zRound);
     return $setup;
 }
예제 #2
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;
 }
예제 #4
0
 public function testFullTournament()
 {
     $setup = new TournamentSetup();
     $seed = RoundSetupSeed::create(4);
     // create seed with 4 groups
     $seed->setAdvance(-1);
     // seed defaults to advance -1
     $setup->setSeed($seed);
     $groupRound = RoundSetupAva::createStraight();
     // create an AvA round with straight input
     $groupRound->setAdvance(4);
     // each group, best 4 advance
     $setup->addRound($groupRound);
     // adding bottom first walking upwards
     $knockOutRound = RoundSetupBvw::createStep(1);
     // create an BvW round with step-1 input
     $knockOutRound->setAdvance(2);
     // each group, best 2 advance
     $setup->addRound($knockOutRound);
     $crisCrossRound = RoundSetupAva::createStep(2);
     // create an AvA round with step-2 input
     $crisCrossRound->setAdvance(1);
     $setup->addRound($crisCrossRound);
     $xRound = RoundSetupAva::createReduce();
     // create an AvA round with reduce input
     $xRound->setAdvance(2);
     $setup->addRound($xRound);
     $yRound = RoundSetupAva::createSamePlace();
     // create an AvA round with same-place input
     $yRound->setAdvance(2);
     $setup->addRound($yRound);
     $zRound = RoundSetupNull::createStack();
     // create an Null round with stack input
     $zRound->setAdvance(-1);
     // null defaults to advance -1
     $setup->addRound($zRound);
 }