Felder berechnen

Ich habe jetzt mal folgendes gebastelt, mit der Überlegung einfach die Sektoren zu zählen, mit 15 zu multiplizieren und dann den Feldabstand der Koordinate zum Mittelpunkt zu berechnen!?

PHP:
function distance($detail,$city) {
    $detail = explode ( ":", $detail );
    $city = explode ( ":", $city );
    $distance = array ();
    if ($detail [0] == $city [0]) {
        $distance ['fields'] = sectordistance ( $detail, $city );
    } else {
        $vertical = floor ( ( abs ( $detail [0] - $city [0] ) ) / 10 );
		$horizontal = abs ( $detail [0] - $city [0] ) - ( $vertical * 10 );
		$distance ['sectors'] = $vertical + $horizontal;
        $distance ['fields'] = ( $distance ['sectors'] * 15 ) + sectordistance ( $detail, $city );
    }
    return $distance ['fields'] * show ( fieldduration );
}

function sectordistance($detail,$city) {
	$distance += 8 - $detail [1];
	$distance += 8 - $detail [2];
	$distance += 8 - $city [1];	
	$distance += 8 - $city [2];	
	return $distance;
}

Allerdings kommt da irgendwelcher Stuss bei raus...
 
So ich habe mir ZodiacXP`s Code nochmal vorgenommen und der funktioniert, wenn man folgendes ändert:

AHA! Also ich habe nun den Fehler gefunden:

Wenn ich den folgenden Code so einbaue:

PHP:
return array(
        $sector[0] * 15 + $b[2] - $a[2],
        $sector[1] * 15 + $b[1] - $a[1]
    );

ist die Entfernung korrekt! Wenn man allerdings z.B. von Sektor 5 in 15 geht, verdreht er wieder die Achse!

Herausbekommen habe ich das dadurch, indem ich einfach mal das Feld nachgebaut habe und die Felder einfach mal im Umkreis von ein Paar Feldern einfärben lassen habe! Im obrigen Bsp. ( Sektor 5 zu 15) färbt er die Kästchen anstatt oben, 90 Grad gedreht nach links an!?
 
Zuletzt bearbeitet:
Zurück