<?php
define('KEY', '########################' );
define('VERSION', "0.0.1");
define('LOG_MESSAGES', TRUE);
include ("./assist.php");  //Source Code: http://example.preinheimer.com/wbb/bots/assist.phps
if (isset($_GET['displaySource']))
{
    $source = file_get_contents(__FILE__);
    $source = str_replace(KEY, "########################", $source);
    echo highlight_string($source);
    exit;
}

if(!isset($_GET['serverKey']) OR $_GET['serverKey'] != KEY)
{
    echo "invalid key";
    exit;
}
switch($_GET['callType'])
{
    case "gameInit":
        echo VERSION;
        $state = array("angle" => 0);
        maintainState($_GET['gameID'], $state);
        break;
    case "round":
        echo "Let's Play";
        playRound();
        break;
    default:
        var_dump($_GET);
        echo "huh?";
}

function playRound()
{
    $state = maintainState($_GET['gameID']);
    mlog ("Starting Round");
    if (($_GET['x'] == 0) AND ($_GET['y'] == 0))
    {
        mlog("In Corner");
        $energy = $_GET['energy'];
        $strength = 1;
        while($energy > 1)
        {
            $params['method'] = "fire";
            $params['degree'] =(int) ($state['angle']);
            $params['energy'] = $strength;
            $params['clientKey'] = KEY;
            $params['gameID'] = $_GET['gameID'];
            $url = $_GET['url'] . "?" . http_build_query($params);
            mlog( "I should invoke: $url to Fire!\n");
            $response = file_get_contents($url);
            mlog($response);
            //mlog(file_get_contents(($url)));
            $xml = simplexml_load_string($response);
            $energy = $energy - $strength;
            mlog(print_r($xml, 1));
            if ($xml->responseValues->botsHit > 0)
            {
                $strength = $energy;
            }else
            {
                $state['angle'] += 2;
                if($state['angle'] > 90)
                {
                    $state['angle'] = 0;
                }
            }
        }
        
    }else
    {
        mlog("To Drive");
        $params = array();
        $params['clientKey'] = KEY;
        $params['gameID'] = $_GET['gameID'];
        $params['method'] = "drive";
        mlog("trying");
        list($params['direction'], $params['distance']) = drivingDirections($_GET['x'], $_GET['y'], 0, 0);
        mlog("back");
        mlog(print_r($params, 1));
        $params['distance'] = ($_GET['energy'] < $params['distance']) ? $_GET['energy'] : $params['distance'];
        mlog(print_r($params, 1));
        $url = $_GET['url'] . "?" . http_build_query($params);
        mlog($url);
        mlog(file_get_contents($url));
    }
    
    maintainState($_GET['gameID'], $state);
}



?>
1