Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Backtracking - Wege aus dem Labyrinth [Source online] (https://www.delphipraxis.net/108486-backtracking-wege-aus-dem-labyrinth-%5Bsource-online%5D.html)

Flips 14. Feb 2008 15:39


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 :-)

RavenIV 14. Feb 2008 16:12

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...

Flips 14. Feb 2008 16:37

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.

Larsi 14. Feb 2008 17:14

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.

STS301 14. Feb 2008 17:31

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%

Flips 14. Feb 2008 17:57

Re: Backtracking - Wege aus dem Labyrinth
 
Zitat:

Zitat von Larsi
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.

Danke :-)
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:

Zitat von STS301
wow, finde ich wirklich toll, trotzdem würde ich mich auch über den Source sehr freuen Thumbs up!

toll wäre es auch, wenn man gerauszoomen könnte, weil beim großen Labyrinth ist es ziemlich umständlich.

Auch danke :-)
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:

Timer wäre auch lustig, bei mir leuft zur Zeit das große Labyrinth, 10 minuten und hat erst 1%
Entweder du hast den Speed-Modus aus oder dein PC ist nicht sehr schnell^^
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

STS301 14. Feb 2008 18:11

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?

geofranz01 14. Feb 2008 19:05

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

Flips 14. Feb 2008 19:55

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:

kann man das auch irgendwie einstellen, dass er nicht immer den selben Weg nimmt?

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 :-)

dominikkv 14. Feb 2008 21:11

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:

---------------------------
Project1
---------------------------
Gleitkommadivision durch Null.
---------------------------
OK
---------------------------


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz