Toute solution simple qui fonctionne est facile à entretenir, fiable et fonctionne bien assez, c'est une bonne solution. Il me semble que vous avez déjà trouvé une bonne solution ...
Une recherche de chemin solution risque d'être plus compliqué que votre solution actuelle, et donc plus susceptibles de demander de débogage. Il sera probablement plus lent.
IMO, si elle n'est pas cassé, ne le répare pas.
MODIFIER
IMO, si le labyrinthe est fixe alors votre solution actuelle est bon / code élégant. Ne faites pas l'erreur d'assimiler la "bonne" ou "élégante" avec "intelligent". Simple code peut également être "bon" et "élégant".
Si vous avez configurable dédale de niveaux, alors peut-être vous devriez juste faire le pathfinding lorsque vous d'abord configurer les labyrinthes. Le plus simple serait d'obtenir le labyrinthe, le concepteur de le faire à la main. J'avais peine l'automatisation de ce si vous avez un bazillion labyrinthes ... ou les utilisateurs peuvent concevoir eux.
(Aparté: si les itinéraires sont configurés par la main, le labyrinthe concepteur pourrait faire un niveau plus intéressant par l'utilisation non optimale des itinéraires ... )