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