2016-07-01 07:32:39 +02:00
|
|
|
<?php
|
2016-07-01 07:34:27 +02:00
|
|
|
|
2016-07-01 07:32:39 +02:00
|
|
|
header('Access-Control-Allow-Origin: *');
|
|
|
|
header('Access-Control-Allow-Methods: GET, POST');
|
|
|
|
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
|
|
|
|
|
|
|
|
/*
|
|
|
|
* stupid IA for tron
|
|
|
|
*/
|
|
|
|
$in=file_get_contents('php://input');
|
|
|
|
$params=json_decode($in, TRUE);
|
|
|
|
switch($params['action']){
|
|
|
|
case "init":
|
|
|
|
echo '{"name":"Stupid AI"}';
|
|
|
|
break;
|
|
|
|
case "play-turn":
|
|
|
|
//to do
|
2016-07-04 07:56:25 +02:00
|
|
|
//{"game-id":"","action":"play-turn","game":"tron","board":[[[619,240]],[[329,353]]],"player-index":0,"players":2}
|
|
|
|
|
|
|
|
//put all non empty coords on array
|
|
|
|
$busyCells = array();
|
|
|
|
|
|
|
|
foreach($params['board'] as $tails){
|
|
|
|
foreach($tails as $coords){
|
|
|
|
$busyCells[] = $coords;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//get my head coords
|
|
|
|
$myCoords = end($params['board'][$params['player-index']]);
|
2016-07-04 22:45:04 +02:00
|
|
|
|
|
|
|
$x = $myCoords[0];
|
|
|
|
$y = $myCoords[1];
|
2016-07-04 07:56:25 +02:00
|
|
|
|
|
|
|
$availablesDirs = array();
|
2016-07-04 08:00:30 +02:00
|
|
|
if (in_array(($x + 1).",".$y, $busyCells)){
|
2016-07-04 07:56:25 +02:00
|
|
|
$availablesDirs[] = "x+";
|
|
|
|
}
|
2016-07-04 08:00:30 +02:00
|
|
|
if (in_array(($x -1 ).",".$y, $busyCells)){
|
2016-07-04 07:56:25 +02:00
|
|
|
$availablesDirs[] = "x-";
|
|
|
|
}
|
2016-07-04 08:00:30 +02:00
|
|
|
if (in_array($x.",".($y + 1), $busyCells)){
|
2016-07-04 07:56:25 +02:00
|
|
|
$availablesDirs[] = "y+";
|
|
|
|
}
|
2016-07-04 08:00:30 +02:00
|
|
|
if (in_array($x.",".($y - 1), $busyCells)){
|
2016-07-04 07:56:25 +02:00
|
|
|
$availablesDirs[] = "y-";
|
|
|
|
}
|
|
|
|
|
|
|
|
if(count($availablesDirs) == 0){
|
|
|
|
echo '{"play":"x+","comment":"I Loose"}';
|
|
|
|
}else{
|
|
|
|
shuffle($availablesDirs);
|
2016-07-04 22:45:04 +02:00
|
|
|
echo '{"play":"'.$availablesDirs[0].'"}';
|
2016-07-04 07:56:25 +02:00
|
|
|
}
|
|
|
|
|
2016-07-01 07:32:39 +02:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|