Ой, извиняюсь, забыл ответить - стал копать код, что бы самому вспомнить и увлекся
На сколько помню идея основана на приближении координат X и Y к заданной точке - сначала пошагово приближается X, если она упрется в стену, то идет очередь приближаться Y и наоборот... И это повторяется до тех пор, пока не будет достигнута конечная точка.
Вот такая логика