Hi zusammen,
ich sitze gerade an einem kleineren Projekt und hätte dazu eine Frage.
Ein Labyrinth hat einen Start- und einen Zielpunkt und natürlich Wände. Die Wände können vom Spieler gesetzt werden. Vor dem Platzieren muss allerdings geprüft werden, ob danach noch ein Pfad zum Ziel vorhanden ist. Zuerst dachte ich an A* oder Djikstra, aber da mir der kürzeste Weg egal ist, wollte ich es etwas simpler halten.
Ich hab das ganze mal auf einem Blatt Papier versucht und bin auf eine Lösung gekommen. Ich denke die entspricht der Breitensuche wenn mich nicht alles täuscht
Die Frage ist, ob das ganze noch einfacher geht bzw. würde mich mal interessieren wie ihr das lösen würdet.
Danke im Voraus
ich sitze gerade an einem kleineren Projekt und hätte dazu eine Frage.
Ein Labyrinth hat einen Start- und einen Zielpunkt und natürlich Wände. Die Wände können vom Spieler gesetzt werden. Vor dem Platzieren muss allerdings geprüft werden, ob danach noch ein Pfad zum Ziel vorhanden ist. Zuerst dachte ich an A* oder Djikstra, aber da mir der kürzeste Weg egal ist, wollte ich es etwas simpler halten.
Ich hab das ganze mal auf einem Blatt Papier versucht und bin auf eine Lösung gekommen. Ich denke die entspricht der Breitensuche wenn mich nicht alles täuscht
Die Frage ist, ob das ganze noch einfacher geht bzw. würde mich mal interessieren wie ihr das lösen würdet.
Setze den Startpunkt in die geschlossene Liste
Setze alle Nachbarn in die offene Liste
Solange der Endpunkt nicht in der geschlossenen Liste ist: (Hier könnte man eigentlich auch die offene Liste prüfen denke ich)
Solange die offene Liste nicht leer ist:
Entferne das erste Element der offenen Liste und setze es in die geschlossene Liste
Für alle Nachbarn
Nachbar frei und nicht in geschlossener Liste? -> offene Liste
Danke im Voraus