Любое простое решение, которое можно поддерживать, надежно и достаточно хорошо работает, является хорошим решением. Мне кажется, что вы уже нашли хорошее решение ...
Решение для поиска пути, вероятно, будет более сложным, чем ваше текущее решение, и, следовательно, с большей вероятностью потребует отладки. Это, вероятно, также будет медленнее.
ИМО, если он не сломан, не чини.
РЕДАКТИРОВАТЬ
IMO, если лабиринт исправлен, то ваше текущее решение - хороший / элегантный код. Не делайте ошибку, приравнивая «хорошее» или «элегантное» к «умному». Простой код также может быть «хорошим» и «элегантным».
Если у вас есть настраиваемые уровни лабиринта, то, возможно, вам следует просто найти путь при первоначальной настройке лабиринта. Проще всего было бы заставить дизайнера лабиринта сделать это вручную. Я бы потрудился автоматизировать это, только если у вас есть лабиринт лабиринтов ... или пользователи могут создавать их.
(Помимо: если маршруты настраиваются вручную, конструктор лабиринта может сделать уровень более интересным, используя неоптимальные маршруты ...)