Hallo, ich weiß, dass es schon verschiedene Beiträge hierzu giebt, nur bekomme ich das nicht angepasst - evtl. kann mir da jemand unter die Arme greifen.
Ich möchte per Backtracking den Weg aus einem Labyrinth finden. Das ist im Grunde kein Prblem, nur möchte ich die Suche nachvollziehen können, d. h. die Anzeige soll nicht nur das Ergebnis anzeigen, sondern auch jeden einzelnen Schritt.
Da lese ich ne Menge zu wait(), sleep und Threads ... was brauche ich aber in meinem Problem.
Ich habe einiges rausgekürzt. Nach der Zeile panelLabyrinth.repaint();, in der auf dem Panel gezeichnet wird, sollte er etwas warten. Wie kann ich das realisieren?
Ich möchte per Backtracking den Weg aus einem Labyrinth finden. Das ist im Grunde kein Prblem, nur möchte ich die Suche nachvollziehen können, d. h. die Anzeige soll nicht nur das Ergebnis anzeigen, sondern auch jeden einzelnen Schritt.
Da lese ich ne Menge zu wait(), sleep und Threads ... was brauche ich aber in meinem Problem.
Code:
private boolean sucheWeg(Point aktPosition) {
boolean fertig = false;
// mögliche Wege finden
...
// mögliche Wege abtesten
while ((!wege.isEmpty()) && (!fertig)) {
// aktuelle Position rücksetzen
neuePosition.setX(aktPosition.getX());
neuePosition.setY(aktPosition.getY());
// nächste Richtung wählen
...
if ((neuePosition.getX() == zielpunkt.getX()) &&
(neuePosition.getY() == zielpunkt.getY())) {
// Zielpunkt wurde gefunden
fertig = true;
} else {
// von neuer Position aus suchen
myLabyrinth[aktPosition.getX()][aktPosition.getY()] = besucht;
panelLabyrinth.repaint();
sucheWeg(neuePosition);
...
}
}
return fertig;
}