A* - Algorithmusvariante

Neue Frage »

Auf diesen Beitrag antworten »
Tommy1234 A* - Algorithmusvariante

Hallo,

ich habe folgendes Problem und es geht dabei um den A*-Algorithmus.

In meinem kleinen Programm wird ein quadratisches Gitter angezeigt mit 32x32 großen Kacheln. Manche Kacheln sind ausgefüllt und sind nicht begehbar.
Dazu kommt noch ein Spieler, den ich nach verdammt langer Zeit dazu gebracht habe den vom A* berechneten Pfad sauber abzulaufen.

Nun habe ich aber wieder mal ein Problem, wenn ich auf ein begehbares Feld ( das übrigens aus Knoten besteht ) klicke, läuft der Spieler unter Berücksichtigung der nicht-begehbaren Felder gemäß dem Pfad dorthin.

Wenn ich aber auf ein nicht begehbares Feld klicke passiert gar nichts und das will ich nicht. Stattdessen möchte ich, dass der Pfad bestmöglich bis zu diesem nicht-begehbaren Feld berechnet wird.

Zunächst denke ich, dass man zwei Pfade berechnen sollte, den einen ganz normal, bei dem anderen die closedListe durchgehen und den Knoten finden, der dem Zielknoten am nächsten ist und dann den Pfad zu diesem neuen Ziel neuberechnen.

Aber jetzt kommt mein Problem:
Wie finde ich den Knoten, der dem Ziel am nächsten ist?
Außerdem habe ich vor mehrere nicht-begehbare Felder hintereinander zu platzieren also größer zu machen und wie bekomme ich dann den Knoten der dem Ziel am nächsten ist?

Gruß Tommy
 
 
Neue Frage »
Antworten »


Verwandte Themen