Ich habe Probleme mit meiner A-Sterne-Implementierung. Es findet den Weg von meinem Punkt A nach B, aber nicht, wenn das Terrain "komplexer" ist, dann scheint meine Funktion Find () nicht zu enden. Zum Beispiel funktioniert es auf dem 20 x 20-Array hier, aber wenn Sie ein Quadrat ("#") in der Unterseite zum Rechtesten Hindernis / Wand hinzufügen, dann scheitert es.
Ich hoffe, jemand kann auf Fehler hinweisen, die ich mache. Hier ist mein Code:
%Vor% Wenn Sie die Nachbarn eines Knotens betrachten, fügen Sie nur die oberste (diejenige, die dem Ziel am nächsten liegt) in die openList
für weitere Überlegungen ein; Alle anderen gehen direkt in closedList
, wo sie für immer als alreadyCheckedNode
betrachtet werden. So geht dein Sucher natürlich auf B zu, bis er in einer Ecke steckenbleibt.