So, ich habe mich auch mal ein wenig mit Pathfinding beschäftigt, blicke aber noch nicht ganz durch. (Und komm mir jetzt niemand mit Lachsens A*-Teil ^.~)

Die Boardsuche hat diesen und diesen informativen Thread ergeben.

Interessieren würde mich die dort beschriebene Wall-Tracing Methode mit Luftlinie. Was ich glaube verstanden zu haben (Beispiel: Held wird zu Objekt bewegt):

1.) Es wird eine Luftlinie zwischen Startpunkt-Held und Objekt gezogen
2.) Der Held wird auf dieser Linie bewegt, bis er an ein Hindernis stößt
3.) Der Held wird durch das Wall Tracing um das Hindernis herum bewegt, bis er wieder an die Luftlinie stößt
4.) Und so weiter bis er beim Objekt ankommt

Die Luftlinie wird durch die Geradengleichung y=m*x+b berechnet.
m wird folgendermaßen berechnet: m = Delta x / Delta y bzw andersherum, damit keine Brüche rauskommen. b berechnet sich durch Umformung: b = y-m*x (x, y sind hierbei irgendwelche Werte der Geraden, bspw. der Startpunkt) Hier gelingt mir allerdings die Umsetzung nicht.

Beispiel:
Held H will zu Ziel Z am Hindernis vorbei

Dann müsste sich ja ergeben:
X1= 1, Y1 = 4, X2 = 5; Y2 = 2
m = 4/2 = 2
b = 4-2*1 = 2

Also: y = 2*x+2

Das ist allerdings die falsche Gleichung. Liegt wahrscheinlich an der doofen Anordnung des Koordinatensystems und daran, dass ich zu doof bin umzudenken.
Außerdem: Ich bekomme ja wie bei jeder Funktion nur einen X auf einen Y Wert. (Sonst wärs ja keine Funktion) Da dadurch zwangsweise diagonale Felderverbindungen entstehen würde es recht kompliziert werden den Helden ohne diagonale Schritte auf der Geraden entlangzubewegen.

Wäre nett wenn mir jemand helfen könnte.