Ejemplo n.º 1
0
function mobile_movehmm($config)
{
    if ($_GET['gameid'] != "" && $_GET['from'] != "" && $_GET['to'] != "") {
        //Instantiate theCR3DCQuery Class
        $oR3DCQuery = new CR3DCQuery($config);
        $xsid = $_GET['sid'];
        $session = base64_decode($xsid);
        list($uniq, $player_id) = preg_split("/\\|/", $session);
        $movefrom = $_GET['from'];
        $moveto = $_GET['to'];
        $bmove_error = false;
        //Create Move String
        $movestr = $movefrom . "," . $moveto;
        $movestr2 = $movefrom . "-" . $moveto;
        // get the fen for the game
        $fen = $oR3DCQuery->GetHackedFEN($xsid, $_GET['gameid']);
        //$fen3 = $oR3DCQuery->GetHackedFEN($xsid, $_GET['gameid']);
        $bturn = $oR3DCQuery->IsPlayersTurn($config, $player_id, $_GET['gameid']);
        echo "FEN: {$fen}<br/>";
        ChessHelper::load_chess_game($_GET['gameid']);
        $turn = $fen = ChessHelper::$CB->GetFENForCurrentPosition();
        echo "FEN: {$fen}<br/>";
        if ($bturn) {
            //check to see if the move is valid
            if (is_Move_legal($fen, $movestr2)) {
                $oR3DCQuery->CurrentGameMovePiece($config, $_GET['gameid'], $xsid, $player_id, $movestr);
                $initiator = "";
                $w_player_id = "";
                $b_player_id = "";
                $status = "";
                $completion_status = "";
                $start_time = "";
                $next_move = "";
                $oR3DCQuery->GetGameInfoByRef($config, $_GET['gameid'], $initiator, $w_player_id, $b_player_id, $status, $completion_status, $start_time, $next_move);
                //checkmate
                if (get_GameState() == 1) {
                    //if($w_player_id == $player_id){
                    if ($next_move == 'w') {
                        ///////////////////////////////////////////////////////////////////////
                        //ELO Point Calculation
                        if ($oR3DCQuery->ELOIsActive() && $oR3DCQuery->IsGameRated($_GET['gameid'])) {
                            $bcurpoints = $oR3DCQuery->ELOGetRating($b_player_id);
                            $wcurpoints = $oR3DCQuery->ELOGetRating($w_player_id);
                            //Calculate black player
                            $bnewpoints = $oR3DCQuery->ELOCalculation($bcurpoints, $wcurpoints, 1, 1, $oR3DCQuery->GetPlayerGameCount($b_player_id));
                            //Calculate white player
                            $wnewpoints = $oR3DCQuery->ELOCalculation($wcurpoints, $bcurpoints, 0, 1, $oR3DCQuery->GetPlayerGameCount($w_player_id));
                            //update points
                            $oR3DCQuery->ELOUpdateRating($b_player_id, $bnewpoints);
                            $oR3DCQuery->ELOUpdateRating($w_player_id, $wnewpoints);
                        }
                        ///////////////////////////////////////////////////////////////////////
                        $oR3DCQuery->UpdateGameStatus($config, $_GET['gameid'], "C", "B");
                    } else {
                        ///////////////////////////////////////////////////////////////////////
                        //ELO Point Calculation
                        if ($oR3DCQuery->ELOIsActive() && $oR3DCQuery->IsGameRated($_GET['gameid'])) {
                            $bcurpoints = $oR3DCQuery->ELOGetRating($b_player_id);
                            $wcurpoints = $oR3DCQuery->ELOGetRating($w_player_id);
                            //Calculate black player
                            $bnewpoints = $oR3DCQuery->ELOCalculation($bcurpoints, $wcurpoints, 0, 1, $oR3DCQuery->GetPlayerGameCount($b_player_id));
                            //Calculate white player
                            $wnewpoints = $oR3DCQuery->ELOCalculation($wcurpoints, $bcurpoints, 1, 1, $oR3DCQuery->GetPlayerGameCount($w_player_id));
                            //update points
                            $oR3DCQuery->ELOUpdateRating($b_player_id, $bnewpoints);
                            $oR3DCQuery->ELOUpdateRating($w_player_id, $wnewpoints);
                        }
                        ///////////////////////////////////////////////////////////////////////
                        $oR3DCQuery->UpdateGameStatus($config, $_GET['gameid'], "C", "W");
                    }
                    $oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id);
                    $oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id);
                } else {
                    if (get_GameState() == 2) {
                        ///////////////////////////////////////////////////////////////////////
                        //ELO Point Calculation
                        if ($oR3DCQuery->ELOIsActive() && $oR3DCQuery->IsGameRated($_GET['gameid'])) {
                            $bcurpoints = $oR3DCQuery->ELOGetRating($b_player_id);
                            $wcurpoints = $oR3DCQuery->ELOGetRating($w_player_id);
                            //Calculate black player
                            $bnewpoints = $oR3DCQuery->ELOCalculation($bcurpoints, $wcurpoints, 0.5, 1, $oR3DCQuery->GetPlayerGameCount($b_player_id));
                            //Calculate white player
                            $wnewpoints = $oR3DCQuery->ELOCalculation($wcurpoints, $bcurpoints, 0.5, 1, $oR3DCQuery->GetPlayerGameCount($w_player_id));
                            //update points
                            $oR3DCQuery->ELOUpdateRating($b_player_id, $bnewpoints);
                            $oR3DCQuery->ELOUpdateRating($w_player_id, $wnewpoints);
                        }
                        ///////////////////////////////////////////////////////////////////////
                        $oR3DCQuery->UpdateGameStatus($config, $_GET['gameid'], "C", "D");
                        $bmove_error = false;
                        $oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id);
                        $oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id);
                    }
                }
            } else {
                $bmove_error = true;
            }
        } else {
            $bmove_error = true;
        }
        $oR3DCQuery->Close();
        unset($oR3DCQuery);
    } else {
        $bmove_error = true;
    }
    if ($bmove_error) {
        echo "<RESPONSE>\n";
        echo "<MOVE>false</MOVE>\n";
        echo "</RESPONSE>\n";
    } else {
        echo "<RESPONSE>\n";
        echo "<MOVE>true</MOVE>\n";
        mobile_get_full_game_update();
        echo "<LASTMOVE>" . ChessHelper::get_last_move() . "</LASTMOVE>";
        echo "</RESPONSE>\n";
    }
}
Ejemplo n.º 2
0
		}
    }
    else {
        clearTimeout(timer)
		window.location.reload(true)
    } 
}
window.onload=starttime



<?php 
////////////
//Instantiate theCR3DCQuery Class
$oR3DCQuery = new CR3DCQuery($config);
if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) && $oR3DCQuery->TimeForTGame($config, $GID)) {
    echo "parent.frames['chessboard'].location.reload();";
} elseif ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) == false && $oR3DCQuery->TimeForTGame($config, $GID) == false) {
    echo "parent.frames['chessboard'].location.reload();";
} elseif ($oR3DCQuery->TGameStatus($GID) == false) {
    echo "parent.frames['chessboard'].location.reload();";
}
$oR3DCQuery->Close();
unset($oR3DCQuery);
///////////
?>

</script>
<body>

<textarea cols='32' rows='24' class='post'>
Ejemplo n.º 3
0
echo $Root_Path . "skins/" . $SkinName . "/";
?>
layout.css" type="text/css">
</head>
<body>

<?php 
if (isset($_SESSION['sid']) && isset($_SESSION['user']) && isset($_SESSION['id'])) {
    //Instantiate theCR3DCQuery Class
    $oR3DCQuery = new CR3DCQuery($config);
    if ($oR3DCQuery->TimeForTGame($config, $GID) == false) {
        echo "<br>" . GetStringFromStringTable("IDS_TGAME_TXT_1", $config) . "";
    } else {
        if ($oR3DCQuery->TGameStatus($GID)) {
            $oR3DCQuery->GetTGameBoard($config, $GID, $_SESSION['sid'], $_SESSION['id'], $clrl, $clrd);
            if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID)) {
                //echo "Its, ".$_SESSION['user']." turn to play.";
                echo str_replace("['user']", $_SESSION['user'], GetStringFromStringTable("IDS_TGAME_TXT_3", $config));
            }
        } else {
            echo "<br>" . GetStringFromStringTable("IDS_TGAME_TXT_3", $config) . "";
        }
    }
    $oR3DCQuery->Close();
    unset($oR3DCQuery);
} else {
    //Instantiate theCR3DCQuery Class
    $oR3DCQuery = new CR3DCQuery($config);
    if ($oR3DCQuery->TimeForTGame($config, $GID) == false) {
        echo "<br>" . GetStringFromStringTable("IDS_TGAME_TXT_1", $config) . "";
    } else {
Ejemplo n.º 4
0
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// Check if the game is not playable by the viewer
if (!$oR3DCQuery->IsGameControlsViewableByPlayer($gid, $_SESSION['id'])) {
    header('Location: ./chess_members.php');
}
// Make move
if ($movefrom != "" && $moveto != "" && $cmdMove != "") {
    //Create Move String
    $movestr = $movefrom . "," . $moveto;
    $movestr2 = $movefrom . "-" . $moveto;
    // get the fen for the game
    $fen = $oR3DCQuery->GetHackedFEN($_SESSION['sid'], $gid);
    //$fen3 = $oR3DCQuery->GetHackedFEN($_SESSION['sid'], $gid);
    $bturn = $oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $gid);
    if ($bturn) {
        //check to see if the move is valid
        if (is_Move_legal($fen, $movestr2)) {
            $_SESSION['GAME_MOVE'] = $movestr;
            // if ! promotion screen
            if (!($move_promotion_figur && strlen($movestr2) == 5)) {
                $oR3DCQuery->CurrentGameMovePiece($config, $gid, $_SESSION['sid'], $_SESSION['id'], $movestr);
                $initiator = "";
                $w_player_id = "";
                $b_player_id = "";
                $status = "";
                $completion_status = "";
                $start_time = "";
                $next_move = "";
                $oR3DCQuery->GetGameInfoByRef($config, $gid, $initiator, $w_player_id, $b_player_id, $status, $completion_status, $start_time, $next_move);
Ejemplo n.º 5
0
$status = "";
$completion_status = "";
$start_time = "";
$next_move = "";
$oR3DCQuery->GetGameInfoByRef($config, $GID, $initiator, $w_player_id, $b_player_id, $status, $completion_status, $start_time, $next_move);
$oR3DCQuery->ManageRealTimeGame($config, $GID);
$isrealtime = $oR3DCQuery->IsRequestRealTime($config, $GID, $isblack);
if ($isrealtime == "IDS_REAL_TIME") {
    //Refresh the game board
    if ($_SESSION['RefreashGameOnlyOnce'] == "") {
        echo "parent.frames['chessboard'].location='./chess_game2.php?gameid=" . $GID . "';";
        $_SESSION['RefreashGameOnlyOnce'] = "1";
    }
    //////////////////
    // Update player seconds
    if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) && $oR3DCQuery->IsTimedGameRestricted($GID)) {
        $oR3DCQuery->UpdatePlayerTime($GID, $isblack, 10);
    }
    if ($completion_status == "I" && $oR3DCQuery->IsTimedGameRestricted($GID)) {
        $oR3DCQuery->PlayerTimeConstreached($GID, $w_player_id, $b_player_id);
    }
    /////////////////
    // Check if its your turn to play
    if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID)) {
        $LastMoveDate = $oR3DCQuery->GetLastGameMoveDate($config, $GID);
        if ($_SESSION['Refreashed'] != $LastMoveDate) {
            echo "parent.frames['chessboard'].location='./chess_game2.php?gameid=" . $GID . "';";
            //echo "parent.frames['chessboard'].location.reload();";
            $_SESSION['Refreashed'] = $LastMoveDate;
        }
    } else {
Ejemplo n.º 6
0
$cmdResign = $_GET['cmdResign'];
if ($cmdResign != "") {
    if ($isblack) {
        $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "W");
    } else {
        $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "B");
    }
}
$oR3DCQuery->Close();
unset($oR3DCQuery);
$txtmovefrom = $_GET['txtmovefrom'];
$txtmoveto = $_GET['txtmoveto'];
if (isset($_SESSION['sid']) && isset($_SESSION['user']) && isset($_SESSION['id']) && $GID != "" && $txtmovefrom != "" && $txtmoveto != "") {
    //Instantiate theCR3DCQuery Class
    $oR3DCQuery = new CR3DCQuery($config);
    if ($oR3DCQuery->IsPlayersTurn($config, $_SESSION['id'], $GID) && $oR3DCQuery->TimeForTGame($config, $GID) && $oR3DCQuery->TGameStatus($GID)) {
        $movestr2 = $txtmovefrom . "-" . $txtmoveto;
        // get the fen for the game
        $fen = $oR3DCQuery->GetHackedFEN($_SESSION['sid'], $GID);
        //check to see if the move is valid
        if (is_Move_legal($fen, $movestr2)) {
            //if ! promotion screen
            if (!($move_promotion_figur && strlen($movestr2) == 5)) {
                $Move = $txtmovefrom . "," . $txtmoveto;
                $oR3DCQuery->CurrentGameMovePiece($config, $gid, $_SESSION['sid'], $_SESSION['id'], $Move);
                //checkmate
                if (get_GameState() == 1) {
                    if ($w_player_id == $_SESSION['id']) {
                        $oR3DCQuery->UpdateGameStatus($config, $gid, "C", "B");
                        $bmove_error = false;
                    } else {