Arène à morpions

/> />

/> />

 '','0-1' => '','0-2' => '',
        '1-0' => '','1-1' => '','1-2' => '',
        '2-0' => '','2-1' => '','2-2' => '');
    
    $end=false;
    $playerEnCours=1;
    while($end==false){
        switch($playerEnCours){
            case  1:
                $playerURL=$_POST['ia1URL'];
                $playerCHAR=$_POST['youIA1'];
                break;
            case 2:
                $playerURL=$_POST['ia2URL'];
                $playerCHAR=$_POST['youIA2'];
                break;
                
            default:
                echo "une erreur est survenue";
                die;
        }
       $playerRep=getIAResponse($playerCHAR,$playerURL,$grille);
      	echo "Reponse: ".$playerRep."\n"; 
	//tester la validité de la réponse
       if((isset($grille[$playerRep])) && ($grille[$playerRep]=="")){
            //reponse conforme
            echo  $playerCHAR." joue en ".$playerRep." la nouvelle grille est \n";       
            $grille[$playerRep]=$playerCHAR;
            for($j=0;$j<3;$j++){
                for($i=0;$i<3;$i++){
                    echo $grille[$j."-".$i];
                    if ($grille[$j."-".$i]==""){
                        echo " ";
                    }
                }
                echo "\n";
            }
            //tester si trois caracteres allignés
            if(
                    (($grille['0-0']==$grille['0-1'])&&($grille['0-1']==$grille['0-2'])&&($grille['0-2']!==""))
                OR  (($grille['1-0']==$grille['1-1'])&&($grille['1-1']==$grille['1-2'])&&($grille['1-2']!==""))
                OR  (($grille['2-0']==$grille['2-1'])&&($grille['2-1']==$grille['2-2'])&&($grille['2-2']!==""))
                OR  (($grille['0-0']==$grille['1-0'])&&($grille['1-0']==$grille['2-0'])&&($grille['2-0']!==""))
                OR  (($grille['0-1']==$grille['1-1'])&&($grille['1-1']==$grille['2-1'])&&($grille['2-1']!==""))
                OR  (($grille['0-2']==$grille['1-2'])&&($grille['1-2']==$grille['2-2'])&&($grille['2-2']!==""))
                OR  (($grille['0-0']==$grille['1-1'])&&($grille['1-1']==$grille['2-2'])&&($grille['2-2']!==""))
                OR  (($grille['0-2']==$grille['1-1'])&&($grille['1-1']==$grille['2-0'])&&($grille['2-0']!==""))
            ){
                echo "le joueur ".$playerCHAR." a gagné.";
                $end=true;
                break;
            }
            //tester si toutes les cases ne seraient pas prises
            $full=true;
            
             foreach($grille as $char){
                if($char==""){
                    $full=false;
                    break;
                }
            }
            if($full){
                echo "Match nul";
                $end=true;
                break;
            }
            
            //on change de joueur
            if($playerEnCours==1){
                $playerEnCours=2;
            }else{
                $playerEnCours=1;
            }
       }else{
            echo "le joueur ".$playerCHAR." a fait une réponse non conforme. Il perd";
            break;
       
       }
    }
}

function getIAResponse($youChar,$iaBaseUrl,$grille){
    $paramsGrille="";
    foreach($grille as $key => $case){
        $paramsGrille.="&".$key."=".$case;
    }
    $url=$iaBaseUrl."?you=".$youChar.$paramsGrille;
   echo "\n".$url."\n"; 
    //return http_get($url);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // $output contains the output string
     $output = curl_exec($ch);
    // close curl resource to free up system resources
    curl_close($ch);   
    return htmlentities($output);
}

?>