Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   A*-Demo (https://www.delphipraxis.net/59564-%2A-demo.html)

Luckie 24. Dez 2005 12:50


A*-Demo
 
Liste der Anhänge anzeigen (Anzahl: 3)
Da es ja immer wieder gefragt wird und es wohl keine gescheiten Beispiel Quellcodes in Delphi gibt, habe ich mich mal hingesetzt und ein Delpi-Demo zum A* (A Star) Pathfinding Algorithmus geschrieben. Mein Dank geht dabei an Klaus Neumann, der mir sehr geholfen hat, in dem er meine Denkfehler freundlicherweise ausgebügelt hat, so wohl im eigentlichen Algorithmus, als auch im Algorithmus für das Labyrinth.

Im Archiv befinden sich noch zwei PDFs zur Theorie zum A*-Algorithmus und zur Theorie für den Labyrinth-Algorithmus.

Ergänzung: Im Archiv AStar_Demo jetzt eine reine Demo mit den Zwischenwerten zum Debuggen.

jfheins 24. Dez 2005 13:20

Re: A*-Demo
 
Ist das ein Solver für ein Labyrinth, ja?

Nett, nur 2 Sachen:

- Nicht jeder hat eine 1200 x 1600 Auflöung oder so (vll. verleinerbar ?)

- er hat einn Problem wenn es keinen Weg gibt ....

Luckie 24. Dez 2005 13:28

Re: A*-Demo
 
Ups, da war noch alter Code drinne. Jetzt sollte es gehen. Aktuelle version im ersten Posting.

Nun ja, ich habe es so groß gewählt, damit es nach was aussieht. ;) Kannst du ja ändern. Es soll eben nur eine Demo sein.

Khabarakh 24. Dez 2005 13:35

Re: A*-Demo
 
Die Fehlermeldung ist genial :mrgreen: .
Aber soll irgendetwas auf der Canvas passieren :gruebel: ? Wenn ich auf Start klicke, steht unten sofort das Ergebnis, ich kann aber das Feld nicht mehr verändern und es sieht aus, als ob jede WM-PAINT-Messade ignoriert würde.

Luckie 24. Dez 2005 13:37

Re: A*-Demo
 
Da war noch ein ShowMessage drinne und die ist nicht theadsafe.

Und was willst du verändern, wenn der Pfad gefunden wurde?

Khabarakh 24. Dez 2005 13:47

Re: A*-Demo
 
Zitat:

Zitat von Luckie
Da war noch ein ShowMessage drinne und die ist nicht theadsafe.

In der ersten oder zweiten Version? Ich habe mich auf die zweite bezogen.
Zitat:

Und was willst du verändern, wenn der Pfad gefunden wurde?
Auch wenn ich auf Stop oder Neu gehe, kann ich nichts mehr verändern. Und wie gesagt, sobald ein Fenster über dem Programm ist, bleibt der entsprechende Teil grau.
Ist es denn nun gewollt, dass der gefundene Pfad nicht grafisch angezeigt wird?

Luckie 24. Dez 2005 13:54

Re: A*-Demo
 
Also in der jetzigen version sollte alles funktionieren, so wohl das Neuzeichnen, wenn das Fenster neu gezeichnet werden muss, als auch das Einzeichnen des gefundenen Pfades.

Khabarakh 24. Dez 2005 13:58

Re: A*-Demo
 
Tja - bei mir nicht :cry: .
Vielleicht finde ich noch Zeit, das Programm hier zu kompilieren und nach Fehlern zu suchen, aber heute ist's etwas stressig :wink: .

Luckie 24. Dez 2005 14:03

Re: A*-Demo
 
Hm. Mach mich nicht schwach. Im Anhang vom ersten Posting noch ein Screenshot, wie es aussehen sollte. Das gelbe sind die felder, die er durchgerechnet hat.

Amateurprofi 24. Dez 2005 15:51

Re: A*-Demo
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist ein ähnliches Programm wie das von Luckie vorgestellte,
Wie Luckie erwähnte hatten wir gemeinsam an dieser Demo gearbeitet.
Viel Spaß beim Fehler suchen.

Michael,
ich hab auch einen Algorithmus gefunden, ein echtes Labyrinth zu erstellen, also eines bei dem jeder Punkt des Labyrinthes von jedem anderen Pukt erreichbar ist.
Ist etwas kryptisch, weil in Assembler...
Beschribung des Algos : http://www.tusche-welt.de/Labyrinth.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.
Seite 1 von 2  1 2      

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