示例#1
0
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);
}
示例#2
0
    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);