Esempio n. 1
0
 /**
  * extract score and multiplier from request and put it into an arrow
  *
  * @param Request $request
  * @return Arrow
  */
 protected function getArrowFromRequest(Request $request)
 {
     $score = $request->get('score', 0);
     $multiplier = $request->get('multiplier', 1);
     switch ($multiplier) {
         default:
         case 1:
             $multiplier = Arrow::MULTIPLIER_SINGLE;
             break;
         case 2:
             $multiplier = Arrow::MULTIPLIER_DOUBLE;
             break;
         case 3:
             $multiplier = Arrow::MULTIPLIER_TRIPLE;
             break;
     }
     return Arrow::create($score, $multiplier);
 }
Esempio n. 2
0
 protected function playGame2(TournamentEngineInterface $engine, Ledger $ledger)
 {
     /** @var GameGearsInterface $group0Game1Gears */
     $group0Game1Gears = $engine->getCurrentRoundGears()->getGameGearsGrouped()[0][2];
     $game = $group0Game1Gears->getGame();
     $ledger->setGameId($game->getId());
     // player 1
     $ledger->registerShot(Arrow::create(1, Arrow::MULTIPLIER_SINGLE));
     $ledger->registerShot(Arrow::create(20, Arrow::MULTIPLIER_TRIPLE));
     $ledger->registerShot(Arrow::create(20, Arrow::MULTIPLIER_TRIPLE));
     // player 2
     $ledger->registerShot(Arrow::create(7, Arrow::MULTIPLIER_SINGLE));
     $ledger->registerShot(Arrow::create(19, Arrow::MULTIPLIER_TRIPLE));
     $ledger->registerShot(Arrow::create(16, Arrow::MULTIPLIER_DOUBLE));
     // player 1
     $ledger->registerShot(Arrow::create(20, Arrow::MULTIPLIER_TRIPLE));
     $ledger->registerShot(Arrow::create(20, Arrow::MULTIPLIER_TRIPLE));
     $ledger->registerShot(Arrow::create(20, Arrow::MULTIPLIER_TRIPLE));
     // player-1 won...
     $game = $ledger->getGame();
     $this->assertTrue($game->isClosed());
 }
Esempio n. 3
0
 /**
  * @param Arrow $arrow
  *
  * @return Arrow
  */
 public function setArrow(Arrow $arrow)
 {
     switch ($arrow->getNumber()) {
         case 1:
             $this->arrow1multiplier = $arrow->getMultiplier();
             $this->arrow1score = $arrow->getScore();
             $this->arrow1total = $arrow->getTotal();
             break;
         case 2:
             $this->arrow2multiplier = $arrow->getMultiplier();
             $this->arrow2score = $arrow->getScore();
             $this->arrow2total = $arrow->getTotal();
             break;
         case 3:
             $this->arrow3multiplier = $arrow->getMultiplier();
             $this->arrow3score = $arrow->getScore();
             $this->arrow3total = $arrow->getTotal();
             break;
     }
     if ($this->isVoid()) {
         $this->totalScore = 0;
     } else {
         $this->totalScore = ($this->arrow1total > 0 ? $this->arrow1total : 0) + ($this->arrow2total > 0 ? $this->arrow2total : 0) + ($this->arrow3total > 0 ? $this->arrow3total : 0);
     }
     return $arrow;
 }
Esempio n. 4
0
 /**
  * @expectedException \Fda\TournamentBundle\Engine\Bolts\InvalidArrowException
  */
 public function testInvalidMultiplier()
 {
     Arrow::create(5, 'quadruple');
 }
Esempio n. 5
0
 /**
  * @inheritDoc
  */
 protected function handleArrow(Arrow $arrow)
 {
     // set arrow number
     // do stuff
     // return arrow
     $remainingShots = $this->remainingShots();
     $arrowNumber = 4 - $remainingShots;
     $arrow->setNumber($arrowNumber);
     $turn = $this->updateTurn($arrow);
     if ($turn->isVoid() || $turn->isComplete()) {
         // turn closed!
         $this->setTurnCompleted($turn);
     }
     if ($this->leg->isClosed()) {
         $this->setLegCompleted($this->leg);
     }
     return $arrow;
 }