/** * After the player has moved, run the AI to get the next move applied immediatly * * @param Player $player * @return void */ protected function performAiAnswer(Player $player) { $game = $player->getGame(); $opponent = $player->getOpponent(); $stack = new Stack(); $manipulator = $this->manipulatorFactory->create($game, $stack); $possibleMoves = $manipulator->play($this->ai->move($game, $opponent->getAiLevel())); $player->addEventToStack(array('type' => 'possible_moves', 'possible_moves' => $possibleMoves)); $player->addEventsToStack($stack->getEvents()); }