예제 #1
0
파일: game.php 프로젝트: and07/gomoku-php
<?php

$param = $_GET + $_POST;
require_once dirname(__FILE__) . '/../GomokuGame.php';
$game = new Game\GomokuGame();
if (isset($param)) {
    if (isset($param['reset'])) {
        $game->reset();
    } elseif ((int) $param['x'] >= 0 && $param['y'] >= 0) {
        try {
            $game->makeMove((int) $param['x'], (int) $param['y']);
            $machineMove = $game->machineMove();
            $game->checkWinner();
            if ($game->getCurrentPlayer()) {
                $msg = array('machineMove' => $machineMove, 'winnerCells' => $game->getWinnerCells(), 'field' => $game->getField(), 'player' => $game->getCurrentPlayer(), 'position' => array($param['x'], $param['y']));
            }
            if (!is_null($game->getWinner())) {
                $msg = array('machineMove' => $machineMove, 'winner' => $game->getWinner(), 'winnerCells' => $game->getWinnerCells(), 'field' => $game->getField(), 'player' => $game->getCurrentPlayer(), 'position' => array($param['x'], $param['y']));
            }
            $game->save();
            header('Content-Type: application/json');
            echo json_encode($msg);
        } catch (Exception $e) {
            header('Content-Type: application/json');
            $msg = array('error' => $e->getMessage());
            echo json_encode($msg);
        }
    }
}