<? $aktiv="erkunden"; include("inc.header.php"); include("templates/timer.tpl"); ?>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$a = array();
$a['filename'] = 'erkunden.tpl';
$a['data'] = array();
//return $a; // nicht Vergessen, sonst enthält $ret nur den Wert int(1)
//// Datenbankabfrage zur Erkundung/Koordinaten Auswertung
$sql = "SELECT
Session,
Username,
PosX,
PosY,
MoveX,
MoveY
FROM
User
WHERE
Session =('".session_id()."')";
$result = $db->query($sql);
if (!$result) {
die ('Etwas stimmte mit dem Query nicht: '.$db->error);
}
$row = $result->fetch_assoc();
//// Benutzereingabe Erkunden Koordinaten auswerten
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['X'], $_POST['Y'], $_POST['formaction'])) {
return INVALID_FORM;
}
// Felder leer
if (('' == $X = trim($_POST['X'])) OR
('' == $Y = trim($_POST['Y']))) {
return EMPTY_FORM;
}
// Falscher Bereich
if ((200 < $X = trim($_POST['X'])) OR (1 > $X = trim($_POST['X'])) OR
(200 < $Y = trim($_POST['Y'])) OR (1 > $Y = trim($_POST['Y']))) {
return TOHIGH_FORM;
}
// Keine Bewegungsveränderung und noch nie bewegt
if (($row['MoveX'] == 0) OR ($row['MoveY'] == 0)) {
if (($row['PosX'] == $X = trim($_POST['X'])) AND ($row['PosY'] == $Y = trim($_POST['Y']))) {
return NO_MOVE_FORM;
}
}
// Keine Bewegungsveränderung weil schon dort
if (($row['MoveX'] == $X = trim($_POST['X'])) AND ($row['MoveY'] == $Y = trim($_POST['Y']))) {
return NO_MOVE_FORM;
}
else {
// Ausgangsposition
$X2=$row['MoveX'];
$Y2=$row['MoveY'];
// $X und $Y sind die Zielkoordinaten
$X = trim($_POST['X']);
$Y = trim($_POST['Y']);
$b = $X2-$X;
$a = $Y2-$Y;
// negative Zahlen in positive Wandeln falls a oder b == 0 ist.
$b=abs($b);
$a=abs($a);
if($a == 0){
$entfernung = $b;
}
if($b == 0){
$entfernung = $a;
}
if(($a != 0) And ($b != 0)){
$entfernung = sqrt(pow($a,2) + pow($b,2));
}
// $zeitende = $entfernung*60; Zeitende = Entfernung * 60 Sekunden
$zeitende = $entfernung*60;
$jetzt = time();
$zeitende = $jetzt + $zeitende;
// $zeitende soll später die Berechnungen bei abweichender Geschwindigkeit beinhalten
//// Aktion in DB schreiben
$link = mysql_connect("localhost", "user", "PW");
mysql_select_db("Datenbank", $link);
mysql_query("INSERT INTO
Aktion
(Username,
Aktion,
ZeitAnf,
ZeitEnde,
Wert1,
Wert2)
VALUES
('$Username','Erkunden',CURRENT_TIMESTAMP, $zeitende,'$X','$Y')");
if (mysql_errno()) {
echo mysql_errno() . ": " . mysql_error(). "\n";
}
return ERKUNDEN_FORM;
}
}
return $a;
?>