ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1143
1143
EMPFEHLEN
-
Hallo zusammen!
Ich möchte für ein kleines Spiel eine Wegfindung mit dem A-Star-Algorithmus programmieren. Der Algorithmus selbst ist ja nicht besonders schwer zu implementieren, allerdings möchte ich den Feldern unterschiedliche Werte geben können, also z.B. einem Feld mit einer Straße die Kosten 1, einem Feld mit Sand die Kosten 3 etc..
Zum Abschätzen der Gesamtstrecke (Start -> Ende) nehme ich einfach die Luftlinie. Ich muss ja aber auch für jeden Schritt von Feld zu Feld zunächst die Kosten abschätzen. Wenn ich das mit der Luftlinie mache, komme ich natürlich überall auf 1. Wenn ich so vorgehen würde, würde meine Figur evtl. anstatt einen kurzen Umweg über die schnellere Strasse zu nehmen, durch den "teuren" Sumpf laufen, weil das Feld näher am Ziel liegt.
Hat jemand einen Tipp für mich? Oder hab ich vllt. einfach irgendwo falsch gedacht?
-
A* ist aber ja ein Suchalgorithmus... daher sollte es nicht passieren dass du einen falschen Weg läufst. Zu den geschätzten Wegkosten d.h. der Anzahl der Felder, addierst du die tatsächlichen Kosten der bisher passierten Felder hinzu. Dadurch wirst du ausgehend vom aktuellen Feld bei Betrachtung der umliegenden Felder auch das günstigste wählen. Dadurch dass deine Funktion unterschätzt und nicht überschätzt gehst du dann auch keinen falschen Weg...
Der Wikipedia Artikel dazu ist gar nicht schlecht: http://de.wikipedia.org/wiki/A*-Algorithmus
Ähnliche Themen
-
Alternative zur teuren 3D und 2D Software
Von Herror im Forum Sonstige Grafik-ProgrammeAntworten: 6Letzter Beitrag: 24.02.09, 19:58 -
Star Wars
Von Gewürzwiesel im Forum WerkstattAntworten: 8Letzter Beitrag: 05.01.08, 01:36 -
Star Destroyer
Von tuanducnguyen im Forum 3D-StillsAntworten: 2Letzter Beitrag: 21.10.07, 11:42 -
Kennst jemand Webhoster RHS-IT / Internet Star / Star Host?
Von noopen im Forum Internet, DSL & FlatrateAntworten: 2Letzter Beitrag: 30.01.04, 11:02 -
Star Wars Kid
Von freundin des verwirr im Forum Fun-ForumAntworten: 3Letzter Beitrag: 22.07.03, 17:32





Zitieren

Login





