Ich empfehle dir, dich zu allererst mit dem Dijkstra-Algorithmus näher zu beschäftigen. Versuche zu verstehen, wie dieser Algorithmus abläuft. Gegebenenfalls auf einem Blatt Papier (oder etwas moderner: in einer Textdatei wink ). Wenn du Dijkstra verstanden hast, sollte die Implementation kein großes Problem mehr darstellen. Dann wird dir auch der (kleine) Unterschied zu A* auffallen.

Ein paar Punkte an denen du dich orientieren könntest:

- Der Algorithmus findet auf einem Graphen statt. Der Graph besteht aus Knoten, die durch Kanten miteinander verbunden sind. Einen solchen Graphen hast du ja bereits in deinem ersten Beitrag dargestellt.

- Die Knoten können in zwei Gruppen unterschieden werden: 1) Knoten, die von dem Algorithmus noch überprüft werden müssen und 2) Knoten, deren Überprüfung abgeschlossen ist. Diese beiden Gruppen bezeichnet man üblicherweise als Open und Closed List.

- Die Suche beginnt beim Startknoten und endet, sobald der Zielknoten erreicht ist. Die Reihenfolge, in der die dazwischenliegenden Knoten geprüft werden, hängt von ihren sogenannten Wegkosten ab.

Kommst du mit diesen Informationen weiter?
Im Prinzip geht es nur darum, den Algorithmus zu verstehen und anschließend in lauffähigen Code zu übersetzen. Die Pseudocodes, die man dazu im Netz finden kann, können dir dabei auch behilflich sein.

Wenn du konkrete Fragen dazu oder Probleme bei der Implementation hast, kannst du dich ja hier melden.