Każde proste rozwiązanie, które działa, jest łatwe w utrzymaniu, niezawodne i działa wystarczająco dobrze, jest dobrym rozwiązaniem. Wydaje mi się, że znalazłeś już dobre rozwiązanie ...
Rozwiązanie do poszukiwania ścieżki może być bardziej skomplikowane niż obecne rozwiązanie, a zatem może wymagać debugowania. Prawdopodobnie będzie też wolniejszy.
IMO, jeśli nie jest zepsute, nie naprawiaj tego.
EDYTOWAĆ
IMO, jeśli labirynt jest naprawiony, to twoje obecne rozwiązanie jest dobrym / eleganckim kodem. Nie popełniaj błędu, utożsamiając „dobry” lub „elegancki” z „sprytnym”. Prosty kod może być również „dobry” i „elegancki”.
Jeśli masz konfigurowalne poziomy labiryntu, być może powinieneś po prostu znaleźć ścieżkę przy początkowej konfiguracji labiryntów. Najprościej byłoby poprosić projektanta labiryntu, aby zrobił to ręcznie. Zaabsorbowałbym to automatyzacją tylko, jeśli masz bazillionowe labirynty ... lub użytkownicy mogą je zaprojektować.
(Poza tym: jeśli trasy są konfigurowane ręcznie, projektant labiryntu może uczynić poziom bardziej interesującym, używając tras nieoptymalnych ...