Я собираюсь пойти дальше и ответить на свой вопрос для дальнейшего использования.
Psuedocode:
while (true) {
if (destination reached)
break;
addToQueue(go north);
addToQueue(go south);
addToQueue(go east);
addToQueue(go west);
getNextFromQueue;
}
Следует также отметить, что время выполнения этого приложения очень сильно увеличивается, очень быстро, поэтому проверьте это с небольшими значениями координат.Например, координаты (1,1) дают 7 уровней ширины и требуют 16384 итерации.