function generateScenario() { $num_players = mt_rand(6, 11); $players = []; for ($i = 0; $i < $num_players; $i++) { $players[] = ['player_id' => chr(65 + $i), 'opponents' => [], 'points' => 0]; } $afterRound1 = playRound($players); $afterRound2 = playRound($afterRound1); $afterRound3 = playRound($afterRound2, true); }
foreach ($playersPositions[0] as $position) { $grid[$position] = 'X'; } foreach ($playersPositions[1] as $position) { $grid[$position] = 'O'; } return $grid; } /** * Generates data to be used in the template file * * @return array */ function getTemplateData($input, $game) { if ($game->isOver()) { if ($game->winner() === false) { $message = "It's a draw"; } else { $winner = $game->winner() == 0 ? 'X' : 'O'; $message = "{$winner} won"; } } else { $message = ''; } $playersPositions = $game->getPlayersPositions(); return ['gameOver' => $game->isOver(), 'message' => $message, 'grid' => getGrid($playersPositions), 'currentPlayer' => count($playersPositions[0]) > count($playersPositions[1]) ? 'O' : 'X', 'gameType' => $input['gameType']]; } $input = processInput(); $game = playRound($input['playersPositions'], $input['gameType'], $input['humanStarts']); $data = getTemplateData($input, $game);