Beispiel #1
0
 switch ($playerPlayingNow) {
     case 1:
         $playerURL = $bots[$bot1]['url'];
         $playerCHAR = 'X';
         $playerName = $bots[$bot1]['name'];
         break;
     case 2:
         $playerURL = $bots[$bot2]['url'];
         $playerCHAR = 'O';
         $playerName = $bots[$bot2]['name'];
         break;
     default:
         error(500, "oups");
         die;
 }
 $playerResponse = get_IA_Response($playerCHAR, $playerURL, $map);
 //tester la validité de la réponse
 if (isset($map[$playerResponse]) && $map[$playerResponse] == "") {
     //reponse conforme
     echo "<p>" . $playerName . " joue en " . $playerResponse . " la nouvelle grille est <br/>";
     $map[$playerResponse] = $playerCHAR;
     echo "<table>";
     for ($j = 0; $j < 3; $j++) {
         echo "<tr>";
         for ($i = 0; $i < 3; $i++) {
             echo '<td class="cellj' . $j . ' celli' . $i . '">' . $map[$j . '-' . $i] . '</td>';
         }
         echo "</tr>";
     }
     echo "</table>";
     //tester si trois caracteres allignés
Beispiel #2
0
 case "fight":
     if (count($_SESSION['strikes'][1]) == count($_SESSION['strikes'][2])) {
         //player 1 has to fight
         $currentPlayer = 1;
         $currentBot = $_SESSION['bot1'];
         $opponent = 2;
         $opponentName = $_SESSION['bot2']['name'];
     } else {
         //it's player2
         $currentPlayer = 2;
         $currentBot = $_SESSION['bot2'];
         $opponentName = $_SESSION['bot1']['name'];
         $opponent = 1;
     }
     $botParamsToSend = array('game' => 'Battleship', 'match_id' => $_SESSION['matchId'] . "-" . $currentPlayer, 'act' => 'fight', 'opponent' => $opponentName, 'width' => $_SESSION['width'], 'height' => $_SESSION['height'], 'ship1' => $_SESSION['ship1'], 'ship2' => $_SESSION['ship2'], 'ship3' => $_SESSION['ship3'], 'ship4' => $_SESSION['ship4'], 'ship5' => $_SESSION['ship5'], 'ship6' => $_SESSION['ship6'], 'your_strikes' => json_encode($_SESSION['strikes'][$currentPlayer]), 'his_strikes' => json_encode($_SESSION['strikes'][$opponent]));
     $anwserPlayer = get_IA_Response($currentBot['url'], $botParamsToSend);
     if (!preg_match('/^[0-9]+,[0-9]+$/', $anwserPlayer)) {
         echo json_encode(array('target' => '', 'log' => $currentBot['name'] . " a fait une réponse non conforme, il perd." . $anwserPlayer));
         save_battle('Battleship', $_SESSION['bot1']['name'], $_SESSION['bot2']['name'], $opponent);
         die;
     }
     list($x, $y) = explode(",", $anwserPlayer);
     //check if shot is under map's limits
     if ($x >= $_SESSION['width'] or $y >= $_SESSION['height']) {
         echo json_encode(array('target' => '', 'log' => $currentBot['name'] . " a fait un tir en dehors des limites de la carte. " . $x . "," . $y . " C'est interdit par les conventions de Geneve. Il perd"));
         save_battle('Battleship', $_SESSION['bot1']['name'], $_SESSION['bot2']['name'], $opponent);
         die;
     }
     //put previous strikes in a one dimmension array ;
     $previousStrikes = array();
     foreach ($_SESSION['strikes'][$currentPlayer] as $strikes) {