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; }
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; }