'','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(
'game-id' => $game_id,
'action' => 'init',
'game' => 'tictactoe',
'players' => 2,
'board' => '',
'player-index' => $player
);
}
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
$playerPlayingNow=1;
while($end==false){
switch($playerPlayingNow){
case 1:
$playerURL=$bots[$bot1]['url'];
$playerCHAR='X';
$playerName=$bots[$bot1]['name'];
$playerIndex=0;
break;
case 2:
$playerURL=$bots[$bot2]['url'];
$playerCHAR='O';
$playerName=$bots[$bot2]['name'];
$playerIndex=1;
break;
default:
error(500,"oups");
die;
}
$paramsToSend=array(
'game-id' => $game_id,
'action' => 'play-turn',
'game' => 'tictactoe',
'players' => 2,
'board' => $map,
'you' => $playerCHAR,
'player-index' =>$playerIndex
);
$tempPlayer = get_IA_Response($playerURL,$paramsToSend);
if(isset($tempPlayer['responseArr']['play'])){
$playerResponse = $tempPlayer['responseArr']['play'];
}else{
$playerResponse = -1;
}
if($_POST['fullLogs'] == "true"){
$fullLogs='Arena send to '.$playerName.''.htmlentities($tempPlayer['messageSend']).'
HTTP status: '.htmlentities($tempPlayer['httpStatus']).'
Bot anwser: '.htmlentities($tempPlayer['response']).'
';
}else{
$fullLogs='';
}
//tester la validité de la réponse
if((isset($map[$playerResponse])) && ($map[$playerResponse]=="")){
//reponse conforme
echo "
".$fullLogs.$playerName." joue en ".$playerResponse." la nouvelle grille est
";
$map[$playerResponse]=$playerCHAR;
echo "
'.$map[$j.'-'.$i].' | '; } echo "
".$playerName." ".$playerCHAR." a gagné.
"; save_battle('tictactoe',$bots[$bot1]['name'],$bots[$bot2]['name'],$playerPlayingNow); $end=true; break; } //tester si toutes les cases ne seraient pas prises $full=true; foreach($map as $char){ if($char==""){ $full=false; break; } } if($full){ echo "Match nul
"; save_battle('tictactoe',$bots[$bot1]['name'],$bots[$bot2]['name'],0); $end=true; break; } //on change de joueur if($playerPlayingNow==1){ $playerPlayingNow=2; }else{ $playerPlayingNow=1; } }else{ echo "".$playerName." made a non conform anwser, he lost:
Bots Arena sent:".$tempPlayer['messageSend']."
".$playerName." HTTP STATUS: ".$tempPlayer['httpStatus']."
His response: ".htmlentities($tempPlayer['response'])."