Вы можете остановиться только тогда, когда вы знаете, что начало и пункт назначения находятся в разных компонентах графика.Предполагая, что у вас нет бесконечно длинных стен, это происходит только в том случае, если начало или пункт назначения полностью закрыты.Но проверить это не тривиально, так как вы не знаете, когда прекратить эту проверку.
Как уже говорилось, проблема, похоже, не имеет простого решения.Возможно, вы сможете сделать больше, если сможете предоставить дополнительную информацию о вашей настройке.Например, если все стены представляют собой отрезки, то вы можете использовать алгоритмы вычислительной геометрии (сметание угла?), Чтобы увидеть, окружена ли точка стенами.