Übungsbonus - Aufgabe 2 - Schiebepuzzle

autoComplete über Manhattan-Distanz

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Übungsbonus - Aufgabe 2 - Schiebepuzzle
Hallo,

ich versuche mich gerade an der autoComplete-Methode. In meiner aktuellen Version versuche ich die (bzw. eine) kürzeste Lösung über die Manhattan-Distanz zu finden. Das Problem dabei ist, dass die Manhattan-Distanz nicht in jedem Schritt verkleinert werden kann und die Distanz so immer größer werden kann bis das Programm schließlich mit einem StackOverFlow-Error abbricht.
Kann es sein, dass die ganze Idee mit der Manhattan-Distanz nicht funktioniert, bzw. habt ihr die Aufgabe so lösen können?
Ich schaue bei jedem Schritt, dass die Bewegung gemacht wird, bei der die Manhattan-Distanz den geringsten Wert annimmt. Allerdings gehe ich nicht in die gleiche Richtung zurück aus der ich gekommen bin und speichere mir so den vorherigen Schritt. Somit wird dann als nächster Schritt der ausgewählt, der die kleinste Manhattan-Distanz hat und nicht in die entgegengesetzte Richtung des vorher ausgeführten Schrittes geht.
Wie löst ihr das Problem?

Danke schonmal,
Rumo


Ich habe mittlerweile eine Lösung gefunden und benutze dabei unter anderem die Manhattan-Distanz.