commit
e0a6f7df63
|
|
@ -4,318 +4,333 @@ require_once(__DIR__."/functions.php");
|
||||||
$bots=get_Bots_Array('connectFou');
|
$bots=get_Bots_Array('connectFou');
|
||||||
$new=false;
|
$new=false;
|
||||||
switch ($_POST['act']){
|
switch ($_POST['act']){
|
||||||
|
|
||||||
case "newFight":
|
case "newFight":
|
||||||
$new=true;
|
$new=true;
|
||||||
//remove $_SESSION less xd_check
|
//remove $_SESSION less xd_check
|
||||||
$xd=$_SESSION['xd_check'];
|
$xd=$_SESSION['xd_check'];
|
||||||
session_unset();
|
session_unset();
|
||||||
$_SESSION['xd_check']=$xd;
|
$_SESSION['xd_check']=$xd;
|
||||||
|
|
||||||
|
|
||||||
//init map
|
|
||||||
$_SESSION['map']=array(
|
|
||||||
array("","","","","","",""),
|
|
||||||
array("","","","","","",""),
|
|
||||||
array("","","","","","",""),
|
|
||||||
array("","","","","","",""),
|
|
||||||
array("","","","","","",""),
|
|
||||||
array("","","","","","",""),
|
|
||||||
);
|
|
||||||
|
|
||||||
//check if bots exists
|
|
||||||
$bot1Exists = false;
|
|
||||||
$bot2Exists = false;
|
|
||||||
foreach($bots as $bot){
|
|
||||||
if($bot['id'] == $_POST['bot1']){
|
|
||||||
$bot1 = $bot;
|
|
||||||
$_SESSION['bot1']=$bot;
|
|
||||||
$bot1Exists =true;
|
|
||||||
}
|
|
||||||
if($bot['id'] == $_POST['bot2']){
|
|
||||||
$bot2 = $bot;
|
|
||||||
$_SESSION['bot2']=$bot;
|
|
||||||
$bot2Exists =true;
|
|
||||||
}
|
|
||||||
if ($bot1Exists && $bot2Exists){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ((!$bot1Exists) OR (!$bot2Exists)){
|
|
||||||
error (500,"missing parameter 2");
|
|
||||||
}
|
|
||||||
|
|
||||||
//get a match id
|
|
||||||
$_SESSION['matchId']=get_unique_id();
|
|
||||||
$_SESSION['game']="connectFou";
|
|
||||||
|
|
||||||
//send init message
|
|
||||||
|
|
||||||
for($player = 0; $player < 2; $player++){
|
|
||||||
$params[$player]=array(
|
|
||||||
'game-id' => $_SESSION['matchId'],
|
|
||||||
'action' => 'init',
|
|
||||||
'game' => 'connectfour',
|
|
||||||
'players' => 2,
|
|
||||||
'board' => '',
|
|
||||||
'player-index' => $player
|
|
||||||
);
|
|
||||||
}
|
|
||||||
get_IA_Response($_SESSION['bot1']['url'],$params[0]); //don't care about result
|
|
||||||
get_IA_Response($_SESSION['bot2']['url'],$params[1]); //don't care about result
|
|
||||||
|
|
||||||
|
|
||||||
case "fight":
|
|
||||||
|
|
||||||
if($_SESSION['game'] <> "connectFou"){
|
|
||||||
error(500,"game non found");
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
if((!$new) && ($_POST['gameId'] <> $_SESSION['matchId'])){
|
|
||||||
error (512, "not correct gameId");
|
|
||||||
}
|
|
||||||
|
|
||||||
//What player has to play?
|
|
||||||
if(!isset($_SESSION['currentPlayer'])){
|
|
||||||
$_SESSION['currentPlayer']=1;
|
|
||||||
$you="X";
|
|
||||||
$currentBotName=$_SESSION['bot1']['name'];
|
|
||||||
$opponentName=$_SESSION['bot2']['name'];
|
|
||||||
$botUrl=$_SESSION['bot1']['url'];
|
|
||||||
}else{
|
|
||||||
if($_SESSION['currentPlayer']==1){
|
|
||||||
$_SESSION['currentPlayer']=2;
|
|
||||||
$you="O";
|
|
||||||
$opponentName=$_SESSION['bot1']['name'];
|
|
||||||
$currentBotName=$_SESSION['bot2']['name'];
|
|
||||||
$botUrl=$_SESSION['bot2']['url'];
|
|
||||||
}else{
|
|
||||||
$_SESSION['currentPlayer']=1;
|
|
||||||
$opponentName=$_SESSION['bot2']['name'];
|
|
||||||
$currentBotName=$_SESSION['bot1']['name'];
|
|
||||||
$botUrl=$_SESSION['bot1']['url'];
|
|
||||||
$you="X";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
|
|
||||||
|
|
||||||
game-id string identifiant la partie.
|
|
||||||
action string identifiant la phase, init tout de suite, sera play-turn dans le châpitre suivant.
|
|
||||||
game string identifiant le jeu. Ici, ce sera forcément tictactoe. ça peut servir si vous donnez une seule URL pour plusieurs bots.
|
|
||||||
players Int indiquant le nombre de joueurs dans la partie, toujours 2 au morpion.
|
|
||||||
board Vide à cette étape, voir chapitre suivant.
|
|
||||||
player-index int, L'ordre de votre bot dans les tours de jeu. Le premier joueur a la valeur 0, le deuxième 1.
|
|
||||||
*/
|
|
||||||
//make post datas to send
|
|
||||||
$postDatas=array(
|
|
||||||
'game-id' => "".$_SESSION['matchId'],
|
|
||||||
'action' => 'play-turn',
|
|
||||||
'game' => 'connectfour',
|
|
||||||
'players' => 2,
|
|
||||||
'opponent' => $opponentName,
|
|
||||||
'you' => $you,
|
|
||||||
'board' => $_SESSION['map'],
|
|
||||||
'player-index' => $_SESSION['currentPlayer'] - 1
|
|
||||||
);
|
|
||||||
//send query
|
|
||||||
$tempPlayer = get_IA_Response($botUrl,$postDatas);
|
|
||||||
$anwserPlayer = $tempPlayer['play'];
|
|
||||||
|
|
||||||
//vérifier la validité de la réponse
|
|
||||||
if((isset($_SESSION['map'][5][$anwserPlayer])) && ($_SESSION['map'][5][$anwserPlayer] == "")){
|
|
||||||
//reponse conforme
|
|
||||||
|
|
||||||
for($y = 0; $_SESSION['map'][$y][$anwserPlayer] <> ""; $y++){
|
|
||||||
}
|
|
||||||
|
|
||||||
$_SESSION['map'][$y][$anwserPlayer]=$you;
|
|
||||||
$strikeX=$anwserPlayer;
|
|
||||||
$strikeY=$y;
|
|
||||||
|
|
||||||
//does he win?
|
|
||||||
$wins=false;
|
|
||||||
|
|
||||||
//diagonale \
|
|
||||||
$count=1;
|
|
||||||
$x=$strikeX;
|
|
||||||
$y=$strikeY;
|
|
||||||
$cellsWin=array();
|
|
||||||
$cellsWin[]=array($x,$y);
|
|
||||||
while(($x > 0) && ($y < 5) && ($_SESSION['map'][$y + 1][$x - 1] == $you)){
|
|
||||||
$x--;
|
|
||||||
$y++;
|
|
||||||
$count++;
|
|
||||||
$cellsWin[]=array($x,$y);
|
|
||||||
}
|
|
||||||
|
|
||||||
$x=$strikeX;
|
|
||||||
$y=$strikeY;
|
//init map
|
||||||
while(($x < 6) && ($y > 0) && ($_SESSION['map'][$y - 1][$x + 1] == $you)){
|
$_SESSION['map']=array(
|
||||||
$x++;
|
array("","","","","","",""),
|
||||||
$y--;
|
array("","","","","","",""),
|
||||||
$count++;
|
array("","","","","","",""),
|
||||||
$cellsWin[]=array($x,$y);
|
array("","","","","","",""),
|
||||||
}
|
array("","","","","","",""),
|
||||||
|
array("","","","","","",""),
|
||||||
if($count>3){
|
);
|
||||||
$wins=true;
|
|
||||||
}
|
//check if bots exists
|
||||||
|
$bot1Exists = false;
|
||||||
//diagonale /
|
$bot2Exists = false;
|
||||||
if(!$wins){
|
foreach($bots as $bot){
|
||||||
|
if($bot['id'] == $_POST['bot1']){
|
||||||
$count=1;
|
$bot1 = $bot;
|
||||||
$x=$strikeX;
|
$_SESSION['bot1']=$bot;
|
||||||
$y=$strikeY;
|
$bot1Exists =true;
|
||||||
$cellsWin =array();
|
}
|
||||||
$cellsWin[]=array($x ,$y);
|
if($bot['id'] == $_POST['bot2']){
|
||||||
while(($x < 6) && ($y < 5) && ($_SESSION['map'][$y + 1][$x + 1 ] == $you)){
|
$bot2 = $bot;
|
||||||
$x++;
|
$_SESSION['bot2']=$bot;
|
||||||
$y++;
|
$bot2Exists =true;
|
||||||
$count++;
|
}
|
||||||
$cellsWin[]=array($x,$y);
|
if ($bot1Exists && $bot2Exists){
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$x=$strikeX;
|
if ((!$bot1Exists) OR (!$bot2Exists)){
|
||||||
$y=$strikeY;
|
error (500,"missing parameter 2");
|
||||||
while(($x > 0) && ($y > 0) && ($_SESSION['map'][$y - 1][$x - 1 ] == $you)){
|
|
||||||
$x--;
|
|
||||||
$y--;
|
|
||||||
$count++;
|
|
||||||
$cellsWin[]=array($x,$y);
|
|
||||||
}
|
}
|
||||||
if($count>3){
|
|
||||||
$wins=true;
|
//get a match id
|
||||||
|
$_SESSION['matchId']=get_unique_id();
|
||||||
|
$_SESSION['game']="connectFou";
|
||||||
|
|
||||||
|
//send init message
|
||||||
|
|
||||||
|
for($player = 0; $player < 2; $player++){
|
||||||
|
$params[$player]=array(
|
||||||
|
'game-id' => $_SESSION['matchId'],
|
||||||
|
'action' => 'init',
|
||||||
|
'game' => 'connectfour',
|
||||||
|
'players' => 2,
|
||||||
|
'board' => '',
|
||||||
|
'player-index' => $player
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
/*
|
||||||
|
* 'messageSend' => $data_string,
|
||||||
|
* 'httpStatus' => $curl_getinfo($ch)['http_code'],
|
||||||
//horizontale
|
* 'response' => $output,
|
||||||
if(!$wins){
|
* 'responseArr' => $arr
|
||||||
$count=1;
|
*/
|
||||||
$x=$strikeX;
|
get_IA_Response($_SESSION['bot1']['url'],$params[0]); //don't care about result
|
||||||
$y=$strikeY;
|
get_IA_Response($_SESSION['bot2']['url'],$params[1]); //don't care about result
|
||||||
$cellsWin =array();
|
|
||||||
$cellsWin[]=array($x ,$y);
|
|
||||||
while(($x < 6) && ($_SESSION['map'][$y][$x + 1 ] == $you)){
|
case "fight":
|
||||||
$x++;
|
|
||||||
$count++;
|
|
||||||
$cellsWin[]=array($x,$y);
|
|
||||||
|
|
||||||
}
|
if($_SESSION['game'] <> "connectFou"){
|
||||||
$x=$strikeX;
|
error(500,"game non found");
|
||||||
while(($x >0) && ($_SESSION['map'][$y][$x - 1 ] == $you)){
|
die;
|
||||||
$count++;
|
}
|
||||||
$x--;
|
if((!$new) && ($_POST['gameId'] <> $_SESSION['matchId'])){
|
||||||
$cellsWin[]=array($x,$y);
|
error (512, "not correct gameId");
|
||||||
}
|
}
|
||||||
if($count>3){
|
|
||||||
$wins=true;
|
//What player has to play?
|
||||||
}
|
if(!isset($_SESSION['currentPlayer'])){
|
||||||
}
|
$_SESSION['currentPlayer']=1;
|
||||||
|
$you="X";
|
||||||
//verticale
|
$currentBotName=$_SESSION['bot1']['name'];
|
||||||
if(!$wins){
|
$opponentName=$_SESSION['bot2']['name'];
|
||||||
$count=1;
|
$botUrl=$_SESSION['bot1']['url'];
|
||||||
$x=$strikeX;
|
}else{
|
||||||
$y=$strikeY;
|
if($_SESSION['currentPlayer']==1){
|
||||||
|
$_SESSION['currentPlayer']=2;
|
||||||
$cellsWin =array();
|
$you="O";
|
||||||
$cellsWin[]=array($x ,$y);
|
$opponentName=$_SESSION['bot1']['name'];
|
||||||
|
$currentBotName=$_SESSION['bot2']['name'];
|
||||||
while(($y < 5) && ($_SESSION['map'][$y + 1 ][$x] == $you)){
|
$botUrl=$_SESSION['bot2']['url'];
|
||||||
$y++;
|
}else{
|
||||||
$count++;
|
$_SESSION['currentPlayer']=1;
|
||||||
$cellsWin[]=array($x,$y);
|
$opponentName=$_SESSION['bot2']['name'];
|
||||||
}
|
$currentBotName=$_SESSION['bot1']['name'];
|
||||||
|
$botUrl=$_SESSION['bot1']['url'];
|
||||||
$y=$strikeY;
|
$you="X";
|
||||||
while(($y >0) && ($_SESSION['map'][$y - 1][$x] == $you)){
|
}
|
||||||
$count++;
|
}
|
||||||
$y--;
|
/*
|
||||||
$cellsWin[]=array($x,$y);
|
*
|
||||||
}
|
*
|
||||||
if($count>3){
|
* game-id string identifiant la partie.
|
||||||
$wins=true;
|
* action string identifiant la phase, init tout de suite, sera play-turn dans le châpitre suivant.
|
||||||
}
|
* game string identifiant le jeu. Ici, ce sera forcément tictactoe. ça peut servir si vous donnez une seule URL pour plusieurs bots.
|
||||||
}
|
* players Int indiquant le nombre de joueurs dans la partie, toujours 2 au morpion.
|
||||||
|
* board Vide à cette étape, voir chapitre suivant.
|
||||||
|
* player-index int, L'ordre de votre bot dans les tours de jeu. Le premier joueur a la valeur 0, le deuxième 1.
|
||||||
if($wins){
|
*/
|
||||||
$anwserToJS=array(
|
//make post datas to send
|
||||||
'continue' => 0,
|
$postDatas=array(
|
||||||
'strikeX' => $strikeX,
|
'game-id' => "".$_SESSION['matchId'],
|
||||||
'strikeY' => $strikeY,
|
'action' => 'play-turn',
|
||||||
'strikeSymbol'=> $you,
|
'game' => 'connectfour',
|
||||||
'log' => $you." ".$currentBotName." joue colonne ". $anwserPlayer." et a gagné",
|
'players' => 2,
|
||||||
'cellsWin' => json_encode($cellsWin),
|
'opponent' => $opponentName,
|
||||||
'gameId' => $_SESSION['matchId']
|
'you' => $you,
|
||||||
);
|
'board' => $_SESSION['map'],
|
||||||
if($_SESSION['currentPlayer']==1){
|
'player-index' => $_SESSION['currentPlayer'] - 1
|
||||||
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],1);
|
);
|
||||||
}else{
|
|
||||||
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],2);
|
//send query
|
||||||
}
|
$tempPlayer = get_IA_Response($botUrl,$postDatas);
|
||||||
|
if(isset($tempPlayer['responseArr']['play'])){
|
||||||
}else{
|
$anwserPlayer = $tempPlayer['responseArr']['play'];
|
||||||
|
}else{
|
||||||
//Was it the last cell?
|
$anwserPlayer = -1;
|
||||||
|
}
|
||||||
$full=true;
|
|
||||||
foreach ($_SESSION['map'][5] as $cell) {
|
//vérifier la validité de la réponse
|
||||||
if ($cell == ""){
|
if((isset($_SESSION['map'][5][$anwserPlayer])) && ($_SESSION['map'][5][$anwserPlayer] == "")){
|
||||||
$full=false;
|
//reponse conforme
|
||||||
break;
|
|
||||||
}
|
for($y = 0; $_SESSION['map'][$y][$anwserPlayer] <> ""; $y++){
|
||||||
}
|
}
|
||||||
|
|
||||||
if($full){
|
$_SESSION['map'][$y][$anwserPlayer]=$you;
|
||||||
|
$strikeX=$anwserPlayer;
|
||||||
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],0);
|
$strikeY=$y;
|
||||||
$anwserToJS=array(
|
|
||||||
'continue' => 0,
|
//does he win?
|
||||||
'strikeX' => $strikeX,
|
$wins=false;
|
||||||
'strikeY' => $strikeY,
|
|
||||||
'strikeSymbol'=> $you,
|
//diagonale \
|
||||||
'log' => $you." ".$currentBotName." joue colonne ". $anwserPlayer." match nul",
|
$count=1;
|
||||||
'gameId' => $_SESSION['matchId']
|
$x=$strikeX;
|
||||||
);
|
$y=$strikeY;
|
||||||
|
$cellsWin=array();
|
||||||
}else{
|
$cellsWin[]=array($x,$y);
|
||||||
|
while(($x > 0) && ($y < 5) && ($_SESSION['map'][$y + 1][$x - 1] == $you)){
|
||||||
$anwserToJS=array(
|
$x--;
|
||||||
'continue' => 1,
|
$y++;
|
||||||
'strikeX' => $strikeX,
|
$count++;
|
||||||
'strikeY' => $strikeY,
|
$cellsWin[]=array($x,$y);
|
||||||
'strikeSymbol'=> $you,
|
}
|
||||||
'log' => $you." ".$currentBotName." joue colonne ". $anwserPlayer,
|
|
||||||
'gameId' => $_SESSION['matchId']
|
$x=$strikeX;
|
||||||
);
|
$y=$strikeY;
|
||||||
}
|
while(($x < 6) && ($y > 0) && ($_SESSION['map'][$y - 1][$x + 1] == $you)){
|
||||||
}
|
$x++;
|
||||||
|
$y--;
|
||||||
}else{
|
$count++;
|
||||||
//reponse non conforme
|
$cellsWin[]=array($x,$y);
|
||||||
$anwserToJS=array(
|
}
|
||||||
'continue' =>0,
|
|
||||||
'strikeX' => -1,
|
if($count>3){
|
||||||
'strikeY' => -1,
|
$wins=true;
|
||||||
'log' => $you." ".$currentBotName." a fait une réponse non conforme, il perd".json_encode($tempPlayer),
|
}
|
||||||
'gameId' => $_SESSION['matchId']
|
|
||||||
);
|
//diagonale /
|
||||||
if($_SESSION['currentPlayer']==1){
|
if(!$wins){
|
||||||
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],2);
|
|
||||||
}else{
|
$count=1;
|
||||||
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],1);
|
$x=$strikeX;
|
||||||
}
|
$y=$strikeY;
|
||||||
}
|
$cellsWin =array();
|
||||||
|
$cellsWin[]=array($x ,$y);
|
||||||
echo json_encode($anwserToJS);
|
while(($x < 6) && ($y < 5) && ($_SESSION['map'][$y + 1][$x + 1 ] == $you)){
|
||||||
|
$x++;
|
||||||
|
$y++;
|
||||||
|
$count++;
|
||||||
die;
|
$cellsWin[]=array($x,$y);
|
||||||
break;
|
}
|
||||||
default:
|
$x=$strikeX;
|
||||||
break;
|
$y=$strikeY;
|
||||||
|
while(($x > 0) && ($y > 0) && ($_SESSION['map'][$y - 1][$x - 1 ] == $you)){
|
||||||
|
$x--;
|
||||||
|
$y--;
|
||||||
|
$count++;
|
||||||
|
$cellsWin[]=array($x,$y);
|
||||||
|
}
|
||||||
|
if($count>3){
|
||||||
|
$wins=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//horizontale
|
||||||
|
if(!$wins){
|
||||||
|
$count=1;
|
||||||
|
$x=$strikeX;
|
||||||
|
$y=$strikeY;
|
||||||
|
$cellsWin =array();
|
||||||
|
$cellsWin[]=array($x ,$y);
|
||||||
|
while(($x < 6) && ($_SESSION['map'][$y][$x + 1 ] == $you)){
|
||||||
|
$x++;
|
||||||
|
$count++;
|
||||||
|
$cellsWin[]=array($x,$y);
|
||||||
|
|
||||||
|
}
|
||||||
|
$x=$strikeX;
|
||||||
|
while(($x >0) && ($_SESSION['map'][$y][$x - 1 ] == $you)){
|
||||||
|
$count++;
|
||||||
|
$x--;
|
||||||
|
$cellsWin[]=array($x,$y);
|
||||||
|
}
|
||||||
|
if($count>3){
|
||||||
|
$wins=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//verticale
|
||||||
|
if(!$wins){
|
||||||
|
$count=1;
|
||||||
|
$x=$strikeX;
|
||||||
|
$y=$strikeY;
|
||||||
|
|
||||||
|
$cellsWin =array();
|
||||||
|
$cellsWin[]=array($x ,$y);
|
||||||
|
|
||||||
|
while(($y < 5) && ($_SESSION['map'][$y + 1 ][$x] == $you)){
|
||||||
|
$y++;
|
||||||
|
$count++;
|
||||||
|
$cellsWin[]=array($x,$y);
|
||||||
|
}
|
||||||
|
|
||||||
|
$y=$strikeY;
|
||||||
|
while(($y >0) && ($_SESSION['map'][$y - 1][$x] == $you)){
|
||||||
|
$count++;
|
||||||
|
$y--;
|
||||||
|
$cellsWin[]=array($x,$y);
|
||||||
|
}
|
||||||
|
if($count>3){
|
||||||
|
$wins=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($wins){
|
||||||
|
$anwserToJS=array(
|
||||||
|
'continue' => 0,
|
||||||
|
'strikeX' => $strikeX,
|
||||||
|
'strikeY' => $strikeY,
|
||||||
|
'strikeSymbol'=> $you,
|
||||||
|
'log' => $you." ".$currentBotName." joue colonne ". $anwserPlayer." et a gagné",
|
||||||
|
'cellsWin' => json_encode($cellsWin),
|
||||||
|
'gameId' => $_SESSION['matchId']
|
||||||
|
);
|
||||||
|
if($_SESSION['currentPlayer']==1){
|
||||||
|
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],1);
|
||||||
|
}else{
|
||||||
|
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],2);
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
//Was it the last cell?
|
||||||
|
|
||||||
|
$full=true;
|
||||||
|
foreach ($_SESSION['map'][5] as $cell) {
|
||||||
|
if ($cell == ""){
|
||||||
|
$full=false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($full){
|
||||||
|
|
||||||
|
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],0);
|
||||||
|
$anwserToJS=array(
|
||||||
|
'continue' => 0,
|
||||||
|
'strikeX' => $strikeX,
|
||||||
|
'strikeY' => $strikeY,
|
||||||
|
'strikeSymbol'=> $you,
|
||||||
|
'log' => $you." ".$currentBotName." joue colonne ". $anwserPlayer." match nul",
|
||||||
|
'gameId' => $_SESSION['matchId']
|
||||||
|
);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
$anwserToJS=array(
|
||||||
|
'continue' => 1,
|
||||||
|
'strikeX' => $strikeX,
|
||||||
|
'strikeY' => $strikeY,
|
||||||
|
'strikeSymbol'=> $you,
|
||||||
|
'log' => $you." ".$currentBotName." joue colonne ". $anwserPlayer,
|
||||||
|
'gameId' => $_SESSION['matchId']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//reponse non conforme
|
||||||
|
|
||||||
|
$anwserToJS=array(
|
||||||
|
'continue' =>0,
|
||||||
|
'strikeX' => -1,
|
||||||
|
'strikeY' => -1,
|
||||||
|
'log' => $you." ".$currentBotName." made a non conform anwser: <br/>
|
||||||
|
Bots Arena sent:<em>".$tempPlayer['messageSend']."</em><br/>
|
||||||
|
".$currentBotName." HTTP STATUS:<em> ".$tempPlayer['httpStatus']."</em><br/>
|
||||||
|
His response: <em>".htmlentities($tempPlayer['response'])."</em>",
|
||||||
|
'gameId' => $_SESSION['matchId']
|
||||||
|
);
|
||||||
|
if($_SESSION['currentPlayer']==1){
|
||||||
|
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],2);
|
||||||
|
}else{
|
||||||
|
save_battle('connectFou',$_SESSION['bot1']['name'],$_SESSION['bot2']['name'],1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode($anwserToJS);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
die;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -12,6 +12,11 @@ function Ajx(){
|
||||||
}
|
}
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
function addLog(message){
|
||||||
|
var p=createElem('p',{});
|
||||||
|
p.innerHTML=message;
|
||||||
|
document.getElementById('logs').appendChild(p);
|
||||||
|
}
|
||||||
function createElem(type,attributes){
|
function createElem(type,attributes){
|
||||||
var elem=document.createElement(type);
|
var elem=document.createElement(type);
|
||||||
for (var i in attributes)
|
for (var i in attributes)
|
||||||
|
|
@ -21,10 +26,14 @@ function createElem(type,attributes){
|
||||||
function connectFour(bot1,bot2,xd_check, gameId, newGame){
|
function connectFour(bot1,bot2,xd_check, gameId, newGame){
|
||||||
if (newGame === undefined){
|
if (newGame === undefined){
|
||||||
newGame = true;
|
newGame = true;
|
||||||
gameId=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newGame){
|
if (newGame){
|
||||||
|
gameId=0;
|
||||||
|
//don't touch the button while game is not ended
|
||||||
|
document.getElementById('fightButton').disabled=true;
|
||||||
|
|
||||||
//empty
|
//empty
|
||||||
while (document.getElementById('fightResult').firstChild) {
|
while (document.getElementById('fightResult').firstChild) {
|
||||||
document.getElementById('fightResult').removeChild(document.getElementById('fightResult').firstChild);
|
document.getElementById('fightResult').removeChild(document.getElementById('fightResult').firstChild);
|
||||||
|
|
@ -43,7 +52,7 @@ function connectFour(bot1,bot2,xd_check, gameId, newGame){
|
||||||
document.getElementById('fightResult').appendChild(table);
|
document.getElementById('fightResult').appendChild(table);
|
||||||
var divLogs=createElem("div",{"id":"logs"});
|
var divLogs=createElem("div",{"id":"logs"});
|
||||||
document.getElementById('fightResult').appendChild(divLogs);
|
document.getElementById('fightResult').appendChild(divLogs);
|
||||||
}
|
}
|
||||||
//send request
|
//send request
|
||||||
var xhr = Ajx();
|
var xhr = Ajx();
|
||||||
xhr.onreadystatechange = function(){if(xhr.readyState == 4){
|
xhr.onreadystatechange = function(){if(xhr.readyState == 4){
|
||||||
|
|
@ -54,17 +63,18 @@ function connectFour(bot1,bot2,xd_check, gameId, newGame){
|
||||||
try{
|
try{
|
||||||
var reponse = JSON.parse(xhr.responseText);
|
var reponse = JSON.parse(xhr.responseText);
|
||||||
}catch(e){
|
}catch(e){
|
||||||
document.getElementById('logs').innerHTML += 'erreur' +xhr.responseText;
|
addLog('erreur' +xhr.responseText);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//log
|
//log
|
||||||
document.getElementById('logs').innerHTML += reponse['log'] + '<br/>';
|
addLog(reponse['log']);
|
||||||
|
|
||||||
//fill the grid
|
//fill the grid
|
||||||
if( reponse['strikeX'] > -1){
|
if( reponse['strikeX'] > -1){
|
||||||
document.getElementById('td' + reponse['strikeX'] + '_' + reponse['strikeY']).innerHTML = reponse['strikeSymbol'];
|
document.getElementById('td' + reponse['strikeX'] + '_' + reponse['strikeY']).innerHTML = reponse['strikeSymbol'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//colorise cells that win
|
||||||
if(reponse['cellsWin'] === undefined){
|
if(reponse['cellsWin'] === undefined){
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -79,12 +89,15 @@ function connectFour(bot1,bot2,xd_check, gameId, newGame){
|
||||||
//if game isn't finished, continue
|
//if game isn't finished, continue
|
||||||
if(reponse['continue'] == 1){
|
if(reponse['continue'] == 1){
|
||||||
connectFour(bot1,bot2,xd_check,reponse['gameId'], false);
|
connectFour(bot1,bot2,xd_check,reponse['gameId'], false);
|
||||||
|
}else{
|
||||||
|
document.getElementById('fightButton').disabled=false;
|
||||||
}
|
}
|
||||||
}else if(xhr.status == 512){
|
}else if(xhr.status == 512){
|
||||||
//just forget
|
//just forget
|
||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
alert ('error ' + xhr.status);
|
alert ('error ' + xhr.status);
|
||||||
|
document.getElementById('fightButton').disabled=false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
|
|
|
||||||
|
|
@ -23,5 +23,5 @@ $bots=get_Bots_Array('connectFou');
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
<p><input type="button" value="<?php echo $lang['FIGHT']; ?>" onclick="connectFour(document.getElementById('bot1').value,document.getElementById('bot2').value,'<?php echo xd_check_input(2); ?>',0);"></p>
|
<p><input id="fightButton" type="button" value="<?php echo $lang['FIGHT']; ?>" onclick="connectFour(document.getElementById('bot1').value,document.getElementById('bot2').value,'<?php echo xd_check_input(2); ?>',0);"></p>
|
||||||
<div id="fightResult"></div>
|
<div id="fightResult"></div>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
.tabledoc tr td,.tabledoc tr th{border: 1px solid green; padding-left: 5px;}
|
.tabledoc tr td,.tabledoc tr th{border: 1px solid green; padding-left: 5px;}
|
||||||
#fightResult{display:table;}
|
#fightResult{display:table;}
|
||||||
#logs{display:block;padding-left:10px; height: 200px; overflow-y: scroll;}
|
#logs{display:block;padding-left:10px; height: 200px; overflow-y: scroll;}
|
||||||
|
#logs p em {color: grey; font-size: 70%; test-transform:italic;}
|
||||||
.battleGrid{display:table-cell; padding-left:10px; border-collapse:collapse; margin: 20px 20px 20px 20px;}
|
.battleGrid{display:table-cell; padding-left:10px; border-collapse:collapse; margin: 20px 20px 20px 20px;}
|
||||||
.battleGrid tr{}
|
.battleGrid tr{}
|
||||||
.battleGrid tr td{border: 1px dashed green; text-align: center; font-weight: bold;min-width:20px; height:20px;}
|
.battleGrid tr td{border: 1px dashed green; text-align: center; font-weight: bold;min-width:20px; height:20px;}
|
||||||
|
|
|
||||||
|
|
@ -2,29 +2,29 @@
|
||||||
|
|
||||||
require_once(__DIR__."/functions.php");
|
require_once(__DIR__."/functions.php");
|
||||||
switch ($_POST['act']){
|
switch ($_POST['act']){
|
||||||
|
|
||||||
case "fight":
|
|
||||||
$bots=get_Bots_Array('tictactoe');
|
|
||||||
//clean $_POST vars
|
|
||||||
$postParams=get_Post_Params(count($bots));
|
|
||||||
if(!$postParams){
|
|
||||||
error(400,"wrong parameters send");
|
|
||||||
die;
|
|
||||||
}else{
|
|
||||||
$bot1=$postParams['bot1'];
|
|
||||||
$bot2=$postParams['bot2'];
|
|
||||||
}
|
|
||||||
//init map
|
|
||||||
$map=array(
|
|
||||||
'0-0' => '','0-1' => '','0-2' => '',
|
|
||||||
'1-0' => '','1-1' => '','1-2' => '',
|
|
||||||
'2-0' => '','2-1' => '','2-2' => '');
|
|
||||||
|
|
||||||
$end=false;
|
|
||||||
|
|
||||||
//send init message to bots
|
case "fight":
|
||||||
$game_id = "".get_unique_id();
|
$bots=get_Bots_Array('tictactoe');
|
||||||
for($player = 0; $player < 2; $player++){
|
//clean $_POST vars
|
||||||
|
$postParams=get_Post_Params(count($bots));
|
||||||
|
if(!$postParams){
|
||||||
|
error(400,"wrong parameters send");
|
||||||
|
die;
|
||||||
|
}else{
|
||||||
|
$bot1=$postParams['bot1'];
|
||||||
|
$bot2=$postParams['bot2'];
|
||||||
|
}
|
||||||
|
//init map
|
||||||
|
$map=array(
|
||||||
|
'0-0' => '','0-1' => '','0-2' => '',
|
||||||
|
'1-0' => '','1-1' => '','1-2' => '',
|
||||||
|
'2-0' => '','2-1' => '','2-2' => '');
|
||||||
|
|
||||||
|
$end=false;
|
||||||
|
|
||||||
|
//send init message to bots
|
||||||
|
$game_id = "".get_unique_id();
|
||||||
|
for($player = 0; $player < 2; $player++){
|
||||||
$params[$player]=array(
|
$params[$player]=array(
|
||||||
'game-id' => $game_id,
|
'game-id' => $game_id,
|
||||||
'action' => 'init',
|
'action' => 'init',
|
||||||
|
|
@ -32,106 +32,117 @@ switch ($_POST['act']){
|
||||||
'players' => 2,
|
'players' => 2,
|
||||||
'board' => '',
|
'board' => '',
|
||||||
'player-index' => $player
|
'player-index' => $player
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
get_IA_Response($bots[$bot1]['url'],$params[0]); //don't care about result
|
get_IA_Response($bots[$bot1]['url'],$params[0]); //don't care about result
|
||||||
get_IA_Response($bots[$bot2]['url'],$params[1]); //don't care about result
|
get_IA_Response($bots[$bot2]['url'],$params[1]); //don't care about result
|
||||||
|
|
||||||
|
|
||||||
$playerPlayingNow=1;
|
$playerPlayingNow=1;
|
||||||
|
|
||||||
while($end==false){
|
while($end==false){
|
||||||
switch($playerPlayingNow){
|
switch($playerPlayingNow){
|
||||||
case 1:
|
case 1:
|
||||||
$playerURL=$bots[$bot1]['url'];
|
$playerURL=$bots[$bot1]['url'];
|
||||||
$playerCHAR='X';
|
$playerCHAR='X';
|
||||||
$playerName=$bots[$bot1]['name'];
|
$playerName=$bots[$bot1]['name'];
|
||||||
$playerIndex=0;
|
$playerIndex=0;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$playerURL=$bots[$bot2]['url'];
|
$playerURL=$bots[$bot2]['url'];
|
||||||
$playerCHAR='O';
|
$playerCHAR='O';
|
||||||
$playerName=$bots[$bot2]['name'];
|
$playerName=$bots[$bot2]['name'];
|
||||||
$playerIndex=1;
|
$playerIndex=1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
error(500,"oups");
|
error(500,"oups");
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
|
|
||||||
$paramsToSend=array(
|
$paramsToSend=array(
|
||||||
'game-id' => $game_id,
|
'game-id' => $game_id,
|
||||||
'action' => 'play-turn',
|
'action' => 'play-turn',
|
||||||
'game' => 'tictactoe',
|
'game' => 'tictactoe',
|
||||||
'players' => 2,
|
'players' => 2,
|
||||||
'board' => $map,
|
'board' => $map,
|
||||||
'you' => $playerCHAR,
|
'you' => $playerCHAR,
|
||||||
'player-index' =>$playerIndex
|
'player-index' =>$playerIndex
|
||||||
);
|
);
|
||||||
|
|
||||||
$playerResponse=get_IA_Response($playerURL,$paramsToSend)['play'];
|
|
||||||
|
$tempPlayer = get_IA_Response($playerURL,$paramsToSend);
|
||||||
//tester la validité de la réponse
|
if(isset($tempPlayer['responseArr']['play'])){
|
||||||
if((isset($map[$playerResponse])) && ($map[$playerResponse]=="")){
|
$playerResponse = $tempPlayer['responseArr']['play'];
|
||||||
//reponse conforme
|
}else{
|
||||||
echo "<p>".$playerName." joue en ".$playerResponse." la nouvelle grille est <br/>";
|
$playerResponse = -1;
|
||||||
$map[$playerResponse]=$playerCHAR;
|
}
|
||||||
echo "<table>";
|
|
||||||
for($j=0;$j<3;$j++){
|
//tester la validité de la réponse
|
||||||
echo "<tr>";
|
if((isset($map[$playerResponse])) && ($map[$playerResponse]=="")){
|
||||||
for($i=0;$i<3;$i++){
|
//reponse conforme
|
||||||
echo '<td class="cellj'.$j.' celli'.$i.'">'.$map[$j.'-'.$i].'</td>';
|
echo "<p>".$playerName." joue en ".$playerResponse." la nouvelle grille est <br/>";
|
||||||
}
|
$map[$playerResponse]=$playerCHAR;
|
||||||
echo "</tr>";
|
echo "<table>";
|
||||||
}
|
for($j=0;$j<3;$j++){
|
||||||
echo "</table>";
|
echo "<tr>";
|
||||||
//tester si trois caracteres allignés
|
for($i=0;$i<3;$i++){
|
||||||
if(
|
echo '<td class="cellj'.$j.' celli'.$i.'">'.$map[$j.'-'.$i].'</td>';
|
||||||
(($map['0-0']==$map['0-1'])&&($map['0-1']==$map['0-2'])&&($map['0-2']!==""))
|
}
|
||||||
OR (($map['1-0']==$map['1-1'])&&($map['1-1']==$map['1-2'])&&($map['1-2']!==""))
|
echo "</tr>";
|
||||||
OR (($map['2-0']==$map['2-1'])&&($map['2-1']==$map['2-2'])&&($map['2-2']!==""))
|
}
|
||||||
OR (($map['0-0']==$map['1-0'])&&($map['1-0']==$map['2-0'])&&($map['2-0']!==""))
|
echo "</table>";
|
||||||
OR (($map['0-1']==$map['1-1'])&&($map['1-1']==$map['2-1'])&&($map['2-1']!==""))
|
//tester si trois caracteres allignés
|
||||||
OR (($map['0-2']==$map['1-2'])&&($map['1-2']==$map['2-2'])&&($map['2-2']!==""))
|
if(
|
||||||
OR (($map['0-0']==$map['1-1'])&&($map['1-1']==$map['2-2'])&&($map['2-2']!==""))
|
(($map['0-0']==$map['0-1'])&&($map['0-1']==$map['0-2'])&&($map['0-2']!==""))
|
||||||
OR (($map['0-2']==$map['1-1'])&&($map['1-1']==$map['2-0'])&&($map['2-0']!==""))
|
OR (($map['1-0']==$map['1-1'])&&($map['1-1']==$map['1-2'])&&($map['1-2']!==""))
|
||||||
){
|
OR (($map['2-0']==$map['2-1'])&&($map['2-1']==$map['2-2'])&&($map['2-2']!==""))
|
||||||
echo "<p>".$playerName." ".$playerCHAR." a gagné.</p>";
|
OR (($map['0-0']==$map['1-0'])&&($map['1-0']==$map['2-0'])&&($map['2-0']!==""))
|
||||||
save_battle('tictactoe',$bots[$bot1]['name'],$bots[$bot2]['name'],$playerPlayingNow);
|
OR (($map['0-1']==$map['1-1'])&&($map['1-1']==$map['2-1'])&&($map['2-1']!==""))
|
||||||
$end=true;
|
OR (($map['0-2']==$map['1-2'])&&($map['1-2']==$map['2-2'])&&($map['2-2']!==""))
|
||||||
break;
|
OR (($map['0-0']==$map['1-1'])&&($map['1-1']==$map['2-2'])&&($map['2-2']!==""))
|
||||||
}
|
OR (($map['0-2']==$map['1-1'])&&($map['1-1']==$map['2-0'])&&($map['2-0']!==""))
|
||||||
//tester si toutes les cases ne seraient pas prises
|
){
|
||||||
$full=true;
|
echo "<p>".$playerName." ".$playerCHAR." a gagné.</p>";
|
||||||
foreach($map as $char){
|
save_battle('tictactoe',$bots[$bot1]['name'],$bots[$bot2]['name'],$playerPlayingNow);
|
||||||
if($char==""){
|
$end=true;
|
||||||
$full=false;
|
break;
|
||||||
break;
|
}
|
||||||
}
|
//tester si toutes les cases ne seraient pas prises
|
||||||
}
|
$full=true;
|
||||||
if($full){
|
foreach($map as $char){
|
||||||
echo "<p>Match nul</p>";
|
if($char==""){
|
||||||
save_battle('tictactoe',$bots[$bot1]['name'],$bots[$bot2]['name'],0);
|
$full=false;
|
||||||
$end=true;
|
break;
|
||||||
break;
|
}
|
||||||
}
|
}
|
||||||
|
if($full){
|
||||||
//on change de joueur
|
echo "<p>Match nul</p>";
|
||||||
if($playerPlayingNow==1){
|
save_battle('tictactoe',$bots[$bot1]['name'],$bots[$bot2]['name'],0);
|
||||||
$playerPlayingNow=2;
|
$end=true;
|
||||||
}else{
|
break;
|
||||||
$playerPlayingNow=1;
|
}
|
||||||
}
|
|
||||||
}else{
|
//on change de joueur
|
||||||
echo "<p>".$playerName." a fait une réponse non conforme. Il perd.</p>";
|
if($playerPlayingNow==1){
|
||||||
break;
|
$playerPlayingNow=2;
|
||||||
|
}else{
|
||||||
}
|
$playerPlayingNow=1;
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
die;
|
echo "<p>".$playerName." made a non conform anwser, he lost: <br/>
|
||||||
break;
|
Bots Arena sent:<em>".$tempPlayer['messageSend']."</em><br/>
|
||||||
default:
|
".$playerName." HTTP STATUS:<em> ".$tempPlayer['httpStatus']."</em><br/>
|
||||||
break;
|
His response: <em>".htmlentities($tempPlayer['response'])."</em></p>";
|
||||||
|
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
die;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,5 @@ td {min-width: 10px; height: 10px;}
|
||||||
.arrenaMessage{color: green;}
|
.arrenaMessage{color: green;}
|
||||||
.arrenaMessage::before{content: "arena message:"; color: grey; font-size: 70%; test-transform:italic;}
|
.arrenaMessage::before{content: "arena message:"; color: grey; font-size: 70%; test-transform:italic;}
|
||||||
.botResponse{color: red;}
|
.botResponse{color: red;}
|
||||||
.botResponse::before{content: "bot response:";color: grey; font-size: 70%; test-transform:italic;}
|
.botResponse::before{content: "bot response:";color: grey; font-size: 70%; test-transform:italic;}
|
||||||
|
#fightResult p em {color: grey; font-size: 70%; test-transform:italic;}
|
||||||
|
|
@ -280,42 +280,41 @@ function save_battle($game,$bot1,$bot2,$resultat){
|
||||||
|
|
||||||
}
|
}
|
||||||
function get_unique_id(){
|
function get_unique_id(){
|
||||||
|
//increment the number
|
||||||
|
|
||||||
$fp = fopen(__DIR__.'/../countBattles.txt', 'c+');
|
$fp = fopen(__DIR__.'/../countBattles.txt', 'c+');
|
||||||
flock($fp, LOCK_EX);
|
flock($fp, LOCK_EX);
|
||||||
|
|
||||||
$count = (int)fread($fp, filesize(__DIR__.'/../countBattles.txt'));
|
$count = (int)fread($fp, filesize(__DIR__.'/../countBattles.txt'));
|
||||||
ftruncate($fp, 0);
|
ftruncate($fp, 0);
|
||||||
fseek($fp, 0);
|
fseek($fp, 0);
|
||||||
fwrite($fp, $count + 1);
|
fwrite($fp, $count + 1);
|
||||||
|
|
||||||
flock($fp, LOCK_UN);
|
flock($fp, LOCK_UN);
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
function get_default_aside_content($currentArena){
|
function get_default_aside_content($currentArena){
|
||||||
global $lang;
|
global $lang;
|
||||||
$asideSectionContent='<h2>infos:</h2><p>'.$lang['DEV-YOUR-OWN-BOT'].'<br/> <a href="/'.$currentArena.'/doc">'.$lang['DOC_SPECS_LINKS'].'</a></p>
|
$asideSectionContent = '<h2>infos:</h2><p>'.$lang['DEV-YOUR-OWN-BOT'].'<br/> <a href="/'.$currentArena.'/doc">'.$lang['DOC_SPECS_LINKS'].'</a></p>
|
||||||
<h2>Scores</h2>';
|
<h2>Scores</h2>';
|
||||||
|
|
||||||
$podium=ELO_get_podium($currentArena);
|
$podium=ELO_get_podium($currentArena);
|
||||||
$count=0;
|
$count=0;
|
||||||
$asideSectionContent.='<ul class="podium">';
|
$asideSectionContent.= '<ul class="podium">';
|
||||||
foreach($podium as $sc){
|
foreach($podium as $sc){
|
||||||
$count++;
|
$count++;
|
||||||
|
|
||||||
switch($count){
|
switch($count){
|
||||||
case 1:
|
case 1:
|
||||||
$img='<img src="/imgs/Gold_Medal.svg" alt="Gold_Medal.svg"/>';
|
$img = '<img src="/imgs/Gold_Medal.svg" alt="Gold_Medal.svg"/>';
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$img='<img src="/imgs/Silver_Medal.svg" alt="Silver_Medal.svg"/>';
|
$img = '<img src="/imgs/Silver_Medal.svg" alt="Silver_Medal.svg"/>';
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
$img='<img src="/imgs/Bronze_Medal.svg" alt="Bronze_Medal.svg"/>';
|
$img = '<img src="/imgs/Bronze_Medal.svg" alt="Bronze_Medal.svg"/>';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$img='<img src="/imgs/Emoji_u1f4a9.svg" alt="caca"/>';
|
$img = '<img src="/imgs/Emoji_u1f4a9.svg" alt="caca"/>';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -334,7 +333,8 @@ function does_arena_exist($string,$arenasArr){
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_IA_Response($iaUrl,$postParams){
|
function get_IA_Response($iaUrl,$postParams){
|
||||||
//send params JSON as body
|
// send params JSON as body
|
||||||
|
// return query detail on an array
|
||||||
|
|
||||||
$data_string = json_encode($postParams);
|
$data_string = json_encode($postParams);
|
||||||
|
|
||||||
|
|
@ -348,8 +348,18 @@ function get_IA_Response($iaUrl,$postParams){
|
||||||
'Content-Type: application/json',
|
'Content-Type: application/json',
|
||||||
'Content-Length: ' . strlen($data_string))
|
'Content-Length: ' . strlen($data_string))
|
||||||
);
|
);
|
||||||
|
|
||||||
$output= curl_exec($ch);
|
$output= curl_exec($ch);
|
||||||
|
$httpCode = curl_getinfo($ch)['http_code'];
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
//echo $iaUrl." ".$data_string." ".$output.'<br/>';
|
if(! $arr = json_decode($output,TRUE)){
|
||||||
return json_decode($output,TRUE);
|
$arr=array();
|
||||||
|
}
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'messageSend' => $data_string,
|
||||||
|
'httpStatus' => $httpCode,
|
||||||
|
'response' => $output,
|
||||||
|
'responseArr' => $arr
|
||||||
|
);
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user