summaryrefslogtreecommitdiffstats
path: root/app.php
diff options
context:
space:
mode:
Diffstat (limited to 'app.php')
-rw-r--r--app.php224
1 files changed, 224 insertions, 0 deletions
diff --git a/app.php b/app.php
new file mode 100644
index 0000000..c2db175
--- /dev/null
+++ b/app.php
@@ -0,0 +1,224 @@
+<?PHP
+
+include "includes/maps.php";
+include "includes/db.inc.php";
+include "includes/mapoftheday.php";
+include "includes/datas.php";
+
+// encode array $json to JSON string
+
+//echo "working...";
+
+if ($_GET['act'] == "test") {
+
+//header('Content-Type: text/xml');
+header("Content-Type: text/plain");
+
+if ($_POST['XMLRequest']) {
+ $string = $_POST['XMLRequest'];
+} else {
+ $string = '<!-- request -->
+<BrainMazeAPI version="0.1">
+ <APIRequest>
+ <SubmitScore>
+ <MapID>5</MapID>
+ <Username>FiftyToo</Username>
+ <Score>50</Score>
+ </SubmitScore>
+ </APIRequest>
+</BrainMazeAPI>';
+}
+
+$xml = simplexml_load_string($string);
+
+//echo $xml->APIRequest->SubmitScore->MapID;
+//print_r ($xml);
+
+
+
+
+$score = $xml->APIRequest[0]->SubmitScore[0]->Score;
+$username = $xml->APIRequest[0]->SubmitScore[0]->Username;
+
+//echo $xml->getName() . "<br />";
+// foreach($xml->children() as $child) {
+// echo $child->getName() . ": " . $child . "<br />";
+// }
+
+
+//$score = 50;
+$previousScore = 49;
+$rank = 1;
+
+//Begin XML Response
+$w = new XMLWriter();
+$w->openMemory();
+$w->startDocument('1.0','UTF-8');
+$w->startElement("BrainMazeAPI");
+ $w->writeAttribute("version", "0.1");
+ $w->startElement("APIResponse");
+ $w->startElement("SubmitScore");
+ $w->writeAttribute("result", "SUCCESS");
+
+ $w->startElement("rank");
+ $w->text($rank);
+ $w->endElement();
+
+ $w->startElement("update");
+ $w->text('true');
+ $w->endElement();
+
+ $w->startElement("UsernameUsed");
+ $w->text($username);
+ $w->endElement();
+
+ $w->startElement("SubmittedScore");
+ $w->text($score);
+ $w->endElement();
+
+ $w->startElement("PreviousHighScore");
+ $w->text($previousScore);
+ $w->endElement();
+
+ $w->endElement();
+ $w->endElement();
+$w->endElement();
+echo $w->outputMemory(true);
+
+}
+
+
+
+if ($_GET['act'] == "submit") {
+header('Content-Type: text/xml');
+echo '<!-- response -->
+<BrainMazeAPI version="0.1">
+ <APIResponse>
+ <SubmitScore result="SUCCESS">
+ <Rank>5</Rank>
+ <SubmittedScore>50</SubmittedScore>
+ <PreviousHighScore>49</PreviousHighScore>
+ </SubmitScore>
+ </APIResponse>
+</BrainMazeAPI>';
+
+}
+
+
+$xml = '<!-- request -->
+<BrainMazeAPI version="0.1">
+ <APIRequest>
+ <SubmitScore>
+ <MapID>5</MapID>
+ <Username>FiftyToo</Username>
+ <Score>50</Score>
+ </SubmitScore>
+ </APIRequest>
+</BrainMazeAPI>
+
+
+<!-- response -->
+<BrainMazeAPI version="0.1">
+ <APIResponse>
+ <SubmitScore result="SUCCESS">
+ <Rank>5</Rank>
+ <SubmittedScore>50</SubmittedScore>
+ <PreviousHighScore>49</PreviousHighScore>
+ </SubmitScore>
+ </APIResponse>
+</BrainMazeAPI>';
+
+
+
+
+if ($_GET['act'] == "getmap") {
+
+ $maptype = $_GET['maptype'] + 0;
+ if (!is_int($maptype))
+ return;
+ if ($maptype > 4)
+ return;
+ if ($maptype < 1)
+ return;
+
+ $motd = MapOfTheDay($maptype);
+ $map = $motd['map'];
+ $mapID = $motd['id'];
+
+ //print_r($map);
+
+ echo translatemap($map, $mapID);
+
+}
+
+function translatemap($mapMatrix, $mapID) {
+
+
+ $mapdata['height'] = $mapMatrix[0][0];
+ $mapdata['width'] = $mapMatrix[0][1];
+ $waypoints = $mapMatrix[0][2];
+ $mapdata['rocks'] = $mapMatrix[0][3];
+ $walls = $mapMatrix[0][4];
+ $mapdata['teleports'] = $mapMatrix[0][5];
+
+ $r .= "<level>";
+ $r .= "\n <properties>";
+ $r .= "\n <mapID>$mapID</mapID>";
+ $r .= "\n <availableCost>$walls</availableCost>";
+ $r .= "\n <waypoints>$waypoints</waypoints>";
+ $r .= "\n </properties>";
+
+
+ $r .= "\n <tiles>";
+ $r .= "\n <rows>";
+ for ($i = 1; $i < count($mapMatrix); $i++) {
+
+ $r .= "\n <row>";
+ for ($j = 0; $j < count($mapMatrix[$i]); $j++) {
+
+ switch($mapMatrix[$i][$j]) {
+ case 's': $r .= "02 "; break;
+ case 'f': $r .= "03 "; break;
+
+ case 't': $r .= "50 "; break;
+ case 'u': $r .= "61 "; break;
+ //TP2
+ case 'm': $r .= "51 "; break;
+ case 'n': $r .= "62 "; break;
+ //TP3
+ case 'g': $r .= "52 "; break;
+ case 'h': $r .= "63 "; break;
+ //TP4
+ case 'i': $r .= "53 "; break;
+ case 'j': $r .= "64 "; break;
+ //TP5
+ case 'k': $r .= "54 "; break;
+ case 'l': $r .= "65 "; break;
+
+ case 'a': $r .= "40 "; break;
+ case 'b': $r .= "41 "; break;
+ case 'c': $r .= "42 "; break;
+ case 'd': $r .= "43 "; break;
+ case 'e': $r .= "44 "; break;
+
+ case 'r': $r .= "00 "; break; //rock
+ case 'w': $r .= "01 "; break; //wall
+ //default: $r .= "<td class='grid_td' id='$handle' onClick='grid_click(this)' >".$index."</td>";
+ default: $r .= "10 ";
+ //default: $r .= "<td class='grid_td' id='$handle' onClick='grid_click(this)' >".$mapMatrix[$i][$j]."</td>";
+ }
+ }
+ $r .= "</row>";
+ }
+ $r .= "\n </rows>";
+ $r .= "\n </tiles>";
+ $r .= "\n</level>";
+ return $r;
+}
+
+
+
+
+
+
+