Exemple #1
0
 public function start(GameConfig $config)
 {
     $this->configPersistence->saveConfigFor('ai', $config->toArray());
     $color = $config->resolveColor();
     $player = $this->generator->createGameForPlayer($color, $config->getVariant());
     $this->playerBlamer->blame($player);
     $game = $player->getGame();
     $opponent = $player->getOpponent();
     $opponent->setIsAi(true);
     $opponent->setAiLevel($config->getLevel());
     $this->starter->start($game);
     $this->objectManager->persist($game);
     return $player;
 }
Exemple #2
0
 public function start(GameConfig $config)
 {
     $this->configPersistence->saveConfigFor('friend', $config->toArray());
     $color = $config->resolveColor();
     $player = $this->generator->createGameForPlayer($color, $config->getVariant());
     $this->playerBlamer->blame($player);
     $game = $player->getGame();
     if ($config->getClock()) {
         $clock = new Clock($config->getTime() * 60, $config->getIncrement());
         $game->setClock($clock);
     }
     $game->setIsRated($config->getMode());
     $this->objectManager->persist($game);
     $this->logger->notice($game, 'Game:inviteFriend create');
     return $player;
 }
Exemple #3
0
 public function start(GameConfig $config)
 {
     $this->configPersistence->saveConfigFor('ai', $config->toArray());
     $color = $config->resolveColor();
     $player = $this->generator->createGameForPlayer($color, $config->getVariant());
     $this->playerBlamer->blame($player);
     $game = $player->getGame();
     $opponent = $player->getOpponent();
     $opponent->setIsAi(true);
     $opponent->setAiLevel($config->getLevel());
     $game->start();
     if ($player->isBlack()) {
         $this->manipulatorFactory->create($game)->play($this->ai->move($game, $opponent->getAiLevel()));
     }
     $this->objectManager->persist($game);
     $this->logger->notice($game, 'Game:inviteAi create');
     return $player;
 }
Exemple #4
0
 public function toArray()
 {
     return array_merge(parent::toArray(), array('level' => $this->level));
 }