AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Backtracking - Wege aus dem Labyrinth [Source online]
Thema durchsuchen
Ansicht
Themen-Optionen

Backtracking - Wege aus dem Labyrinth [Source online]

Ein Thema von Flips · begonnen am 14. Feb 2008 · letzter Beitrag vom 16. Feb 2008
Antwort Antwort
Seite 1 von 3  1 23      
Flips
Registriert seit: 17. Feb 2005
Hi.

Das folgende Projekt ist eine Projektarbeit aus dem Informatikunterricht.
Die Wahl des Themas war den Schülern freigestellt, es sollte nur ein 2D-Array benutzt werden, also sehr anspruchsvoll

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.

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
Angehängte Dateien
Dateityp: zip backtracking_582.zip (519,8 KB, 181x aufgerufen)
Dateityp: zip backtracking_162.zip (6,1 KB, 91x aufgerufen)
 
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#2
  Alt 14. Feb 2008, 16:12
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...
Klaus E.
  Mit Zitat antworten Zitat
Flips

 
Delphi 7 Professional
 
#3
  Alt 14. Feb 2008, 16:37
Hi, danke für dein Feedback 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.
Philipp F.
  Mit Zitat antworten Zitat
Larsi

 
Delphi 2007 Professional
 
#4
  Alt 14. Feb 2008, 17:14
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.
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

 
Delphi 7 Personal
 
#5
  Alt 14. Feb 2008, 17:31
wow, finde ich wirklich toll, trotzdem würde ich mich auch über den Source sehr freuen

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%
Sebastian
  Mit Zitat antworten Zitat
Flips

 
Delphi 7 Professional
 
#6
  Alt 14. Feb 2008, 17:57
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 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
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

 
Delphi 7 Personal
 
#7
  Alt 14. Feb 2008, 18:11
naja, der Speedmode war halt nicht On.

*freu* auf morgen

kann man das auch irgendwie einstellen, dass er nicht immer den selben Weg nimmt?
Sebastian
  Mit Zitat antworten Zitat
geofranz01

 
Delphi 2007 Enterprise
 
#8
  Alt 14. Feb 2008, 19:05
Auch von mir ein großes Lob . 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.
-Wenn ich mit dem Maus hoch-scrolle wird die horizontale Richtung immer zurückgesetzt.

Am Quellcode hätte auch ich Interesse

mfg,
geofranz
Max
  Mit Zitat antworten Zitat
Flips

 
Delphi 7 Professional
 
#9
  Alt 14. Feb 2008, 19:55
Zoom-Funktion ist jetzt eingebaut, Application.ProcessMessages hatte ich mal drin aber habs warum auch immer wieder rausgenommen jedenfalls danke, dass du mich daran noch erinnert hast


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
Philipp F.
  Mit Zitat antworten Zitat
dominikkv

 
Delphi 2007 Professional
 
#10
  Alt 14. Feb 2008, 21:11
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
---------------------------
Dominik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr.
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