本文整理汇总了PHP中CR3DCQuery::RevokeDrawGame方法的典型用法代码示例。如果您正苦于以下问题:PHP CR3DCQuery::RevokeDrawGame方法的具体用法?PHP CR3DCQuery::RevokeDrawGame怎么用?PHP CR3DCQuery::RevokeDrawGame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CR3DCQuery
的用法示例。
在下文中一共展示了CR3DCQuery::RevokeDrawGame方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mobile_move
//.........这里部分代码省略.........
$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;
}
// If a draw offer was made, cancel it.
$isblack = $oR3DCQuery->IsPlayerBlack($config, $_GET['gameid'], $player_id);
$isdraw = $oR3DCQuery->IsRequestDraw($config, $_GET['gameid'], $isblack);
if ($isdraw != 'IDS_DRAW' && $isdraw != 'IDS_NO_DRAW') {
$oR3DCQuery->RevokeDrawGame($config, $_GET['gameid'], $player_id);
}
$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();
$move = ChessHelper::get_last_move();
echo "<MOVE_SAN>" . $move['SAN'] . "</MOVE_SAN>\n";
echo "<MOVE_FROM>" . $move['from'] . "</MOVE_FROM>\n";
echo "<MOVE_TO>" . $move['to'] . "</MOVE_TO>\n";
echo "</RESPONSE>\n";
}
}
示例2:
//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, $gid, "C", "B");
$oR3DCQuery->CachePlayerPointsByPlayerID($b_player_id);
$oR3DCQuery->CachePlayerPointsByPlayerID($w_player_id);
}
}
///////////////
$cmdRevokeDraw = $_GET['cmdRevokeDraw'];
if ($cmdRevokeDraw != "") {
$oR3DCQuery->RevokeDrawGame($ConfigFile, $gid, $_SESSION['id']);
}
$cmdDraw = $_GET['cmdDraw'];
if ($cmdDraw != "") {
if ($isblack) {
$oR3DCQuery->DrawGame($config, $gid, "b");
} else {
$oR3DCQuery->DrawGame($config, $gid, "w");
}
}
$isexitrealtime = false;
$isdraw = $oR3DCQuery->IsRequestDraw($config, $gid, $isblack);
$cmdExitRealtime = $_GET['cmdExitRealtime'];
if ($cmdExitRealtime != "") {
$oR3DCQuery->ExitRealTimeGame($config, $gid);
$isexitrealtime = true;