public function relative_direction($direction)
{
$direction = self::normalize_direction($direction);
$offset = array_search($direction, self::$DIRECTIONS) - $this->direction_index;
while ($offset > 3) {
$offset -= 4;
}
while ($offset < 0) {
$offset += 4;
}
return self::$RELATIVE_DIRECTIONS[$offset];
}