A-Stern-Algorithmus

9

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%     
Nop 09.08.2011, 00:28
quelle

1 Antwort

5

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.

    
Beta 09.08.2011, 01:07
quelle

Tags und Links