Будь-яке просте рішення, яке працює є надійним, надійним та працює досить добре, є хорошим рішенням. Мені здається, ви вже знайшли хороше рішення ...
Рішення для пошуку шляху, ймовірно, буде складніше, ніж ваше поточне рішення, а отже, швидше за все, зажадає налагодження. Напевно, це теж буде повільніше.
IMO, якщо він не зламаний, не виправляйте його.
EDIT
ІМО, якщо лабіринт виправлений, то ваше поточне рішення - хороший / елегантний код. Не робіть помилки, порівнюючи "добре" чи "елегантно" з "розумним". Простий код також може бути "хорошим" і "елегантним".
Якщо у вас є налаштовані рівні лабіринту, то, можливо, вам слід просто виконати прокрутку шляху, коли ви спочатку налаштовуєте лабіринти. Найпростіше було б змусити дизайнера лабіринту зробити це вручну. Я б заважав автоматизувати це, лише якщо у вас є мільярд лабіринтів ... або користувачі можуть їх розробити.
(Убік: якщо маршрути налаштовані вручну, дизайнер лабіринтів може зробити рівень цікавішим, використовуючи неоптимальні маршрути ...)