diff --git a/morpionsFights/Master/index.php b/morpionsFights/Master/index.php new file mode 100755 index 0000000..bfbf31d --- /dev/null +++ b/morpionsFights/Master/index.php @@ -0,0 +1,138 @@ +
+ ++ '','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=htmlentities(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 $output; +} + +?> ++