コード例 #1
0
ファイル: GameHandler.php プロジェクト: StasPiv/playzone
 /**
  * @param GameFixResultInterface $request
  * @param Game $game
  */
 private function fixResultIfTimeOver(GameFixResultInterface $request, Game $game)
 {
     $gameService = $this->container->get("core.service.chess.game");
     $gameService->setPgn($game->getPgn());
     if ($request->getTimeWhite() !== null && $game->getTimeWhite() <= 100) {
         switch ($gameService->isInsufficientMaterialBlack()) {
             case false:
                 $game->setResultWhite(0)->setResultBlack(1);
                 $this->changeGameStatus($game, GameStatus::END);
                 break;
             case true:
                 $game->setResultWhite(0.5)->setResultBlack(0.5);
                 $this->changeGameStatus($game, GameStatus::END);
                 break;
         }
     } elseif ($request->getTimeBlack() !== null && $game->getTimeBlack() <= 100) {
         switch ($gameService->isInsufficientMaterialWhite()) {
             case false:
                 $game->setResultWhite(1)->setResultBlack(0);
                 $this->changeGameStatus($game, GameStatus::END);
                 break;
             case true:
                 $game->setResultWhite(0.5)->setResultBlack(0.5);
                 $this->changeGameStatus($game, GameStatus::END);
                 break;
         }
     }
 }