![]() |
Backtracking - Wege aus dem Labyrinth [Source online]
Liste der Anhänge anzeigen (Anzahl: 2)
Hi.
Das folgende Projekt ist eine Projektarbeit aus dem Informatikunterricht. :coder: Die Wahl des Themas war den Schülern freigestellt, es sollte nur ein 2D-Array benutzt werden, also sehr anspruchsvoll :wink: Das Programm ist nun fertig. Es dient dazu, den Computer rekursiv einen Weg aus dem Labyrinth suchen zu lassen. Die genaue Vorgehensweise findet ihr als Anhang. Was da nicht drin steht ist eine neue Funktion, grau sind die besuchten Felder und gelb der aktuelle Idealweg. Wollte nur mal von euch wissen, wie ihr das Programm denn so findet und ob es bei euch läuft und ob es evtl. Bugs hat die mir noch nicht aufgefallen sind. Ich weiß, man könnte noch 1000 Sachen einbauen aber das würde den Rahmen des Projekts sprengen und mein Partner der erst seid nem Jahr Delphi lernt (dabei aber sehr erfolgreich ist) muss das ja auch verstehen. :coder2: Lg und THX, Flips Ps: Sind zwei Beispiellabyrinthe dabei, wenn ihr selbst eins macht dann muss dieses an allen Rändern geschlossen (schwarz sein) Aktuelle Source ist nun auch dabei :-) |
Re: Backtracking - Wege aus dem Labyrinth
Cooles Programm.
Hier aber noch ein paar Anregungen: - Position des Startpunktes frei wählbar - Labyrinth per Drag&Drop laden (mit der Maus ein Image auf's Programmfenster ziehen) - Abbrechen der Suche auf Knopfdruck - Möglichkeit, dass man Wegstücke sperren kann - Hilfe-Fenster /edit: Am Quellcode hätte ich starkes Interesse... |
Re: Backtracking - Wege aus dem Labyrinth
Hi, danke für dein Feedback :thumb: und für das Lob :-)
Werde deine Wünsche morgen einbaunen, nach der Präsentation (geht im Vortrag ja mehr um die Theorie dahinter). Sobald das fertig ist stelle ich dann auch den Code frei zur Verfügung. |
Re: Backtracking - Wege aus dem Labyrinth
Muss auch sagen, großes Lob!!! Mich würde der Quellcode natürlich auch sehr interessieren, besonders das mit dem Speed Ding :) :) :) Es kommt aber wenn man ein Labyrinth lädt was falsch von mir gezeichnet wurde ne zugriffsverletzung nach dem gesagt wird dass es nicht möglich ist sollte vielleicht unterbundne werden.
|
Re: Backtracking - Wege aus dem Labyrinth
wow, finde ich wirklich toll, trotzdem würde ich mich auch über den Source sehr freuen :thumb:
toll wäre es auch, wenn man gerauszoomen könnte, weil beim großen Labyrinth ist es ziemlich umständlich. Timer wäre auch lustig, bei mir leuft zur Zeit das große Labyrinth, 10 minuten und hat erst 1% |
Re: Backtracking - Wege aus dem Labyrinth
Zitat:
Der Unterschied zwischen Speed-Modus und normalen Modus ist eigentlich nur das er im Normalen Modus immer die Ausgabe aktualisiert, im Speed-Modus nur alle 50.000 Schritte ;-) Prinzipiell kann der Algorithmus das große Labyrinth in ein paar Sekunden lösen (bzw. in dem Fall anzeigen, dass der Ausgang nicht erreichbar ist) Zitat:
herauszoomen könnte man echt machen, wobei dem natürlich auch grenzen gesetzt sind (1 Pixel pro feld is minimum ;-) ). Im Source gibts ne Konstante mit der man die Minimalgröße bestimmen kann, wenn man die auf 1 setzt dann sollte das dann wie ein zoom out wirken. Zitat:
achso, die Prozentzahl muss bei erreichen des Ziels nicht 100% sein, sie gibt nur an wieviel prozent der begehbaren flächen schon abgegrast worden sind. Code kommt direkt morgen mittag :-D |
Re: Backtracking - Wege aus dem Labyrinth
naja, der Speedmode war halt nicht On.
*freu* auf morgen kann man das auch irgendwie einstellen, dass er nicht immer den selben Weg nimmt? |
Re: Backtracking - Wege aus dem Labyrinth
Auch von mir ein großes Lob :thumb: . Echt super!
Was mir noch aufgefallen ist: -Wenn du das Fenster vergrößerst, sollte das Labyrinth auch größer werden. Und die Parameter-Box sollte rechts ausgerichtet werden. -evt. noch eine Zoom-Funktion wie erwähnt oder kleine Vorschau (zur Übersicht) wäre cool. EDIT: BUGS: -Während dem Resetten und Laden Application.processmessages wäre nicht schlecht. :wink: -Wenn ich mit dem Maus hoch-scrolle wird die horizontale Richtung immer zurückgesetzt. Am Quellcode hätte auch ich Interesse :wink: mfg, geofranz |
Re: Backtracking - Wege aus dem Labyrinth
Zoom-Funktion ist jetzt eingebaut, Application.ProcessMessages hatte ich mal drin aber habs warum auch immer wieder rausgenommen :gruebel: jedenfalls danke, dass du mich daran noch erinnert hast :thumb:
Zitat:
Jaein, könnte machen, dass er bei einem zweiten Durchlauf versucht an ner Kreuzung wo er beispielsweise links gegangen ist einfach dann einfach mal nach unten weiter geht, gute Idee! Bzw. das er alles durchprobiert und dann den schnellsten Weg anzeigt. Das ist keine schlechte Idee, thx :-) |
Re: Backtracking - Wege aus dem Labyrinth
Noch nen Bug: wenn man noch keine Map geladen hat und dann Reset klickt und den Öffnen-Dialog abbricht ist der Start-Button enabled! Mit entsprechender Fehlermeldung beim klick:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz