Hallo Leute!
Ich berechne die Enfernung von 2 Koordinaten indem ich die Kästchen zähle, also wieviele nach unten und wieviele nach rechts oder links. Das funktioniert so:
Kann man das vereinfachen? Zur Zeit gelangt man nur von $from[0] zu $to[0] indem man diese Sektoren von 1 nach 7 durchkreuzt, obwohl sich 1 und 7 gegenüberliegen.
Wie kann man realisieren, dass man auch vertikal sich durch die Sektoren bewegen kann? In jeder Reihe sind 6 Sektoren, dann kommen in der nächsten Reiche wieder 6 usw.
Bitte um Hilfe
Ich berechne die Enfernung von 2 Koordinaten indem ich die Kästchen zähle, also wieviele nach unten und wieviele nach rechts oder links. Das funktioniert so:
PHP:
function distance($detail,$city)
{
$from = explode(":", $city);
$to = explode(":", $detail);
############################## GLEICHER SEKTOR ###############################
if ($from[0] == $to[0])
{
if ($from[1] < $to[1])
{
$fields = $fields+($to[1]-$from[1]);
}
elseif ($from[1] > $to[1])
{
$fields = $fields+($from[1]-$to[1]);
}
if ($from[2] < $to[2])
{
$fields = $fields+($to[2]-$from[2]);
}
elseif ($from[2] > $to[2])
{
$fields = $fields+($from[2]-$to[2]);
}
}
############################## NIEDRIGERER SEKTOR ############################
elseif ($from[0] > $to[0])
{
if ($from[1] < $to[1])
{
$fields = $fields+($to[1]-$from[1]);
}
elseif ($from[1] > $to[1])
{
$fields = $fields+($from[1]-$to[1]);
}
$fields = $fields+(15-$to[2])+$from[2]+((($from[0]-$to[0])-1)*15);
}
############################## HÖHERER SEKTOR ############################
elseif ($from[0] < $to[0])
{
if ($from[1] < $to[1])
{
$fields = $fields+($to[1]-$from[1]);
}
elseif ($from[1] > $to[1])
{
$fields = $fields+($from[1]-$to[1]);
}
$fields = $fields+(15-$from[2])+$to[2]+((($to[0]-$from[0])-1)*15);
}
return $fields;
}
Kann man das vereinfachen? Zur Zeit gelangt man nur von $from[0] zu $to[0] indem man diese Sektoren von 1 nach 7 durchkreuzt, obwohl sich 1 und 7 gegenüberliegen.
Wie kann man realisieren, dass man auch vertikal sich durch die Sektoren bewegen kann? In jeder Reihe sind 6 Sektoren, dann kommen in der nächsten Reiche wieder 6 usw.
Bitte um Hilfe