Seite 2 von 5

Verfasst: 09.09.2008 15:03
von STARGÅTE
@Thorium

habe mir deinen Beitrag nicht ganz durchgelesen, aber so in etwar ist das bei mir auch.

bezüglich der Tilewertigkeit:

Es gibt ja Knoten an jedem auf dem Weg liegenden Hindernis.
zwischen den Knoten wird dann die Entfernung bestimmt.

Nun könnte man folgendes machen:
Wenn es zB einen schwer duchfahrbare Fläche geben soll, wird dort ein Kreis erstellt. Durchdringt nun die Verbindungsstrecke zwischen den Knoten diesen Kreis, erhalte ich aus dn Kollisionsberechnungen die beiden KreisPunkte.
Daraus kann ich nun wieder 3 teilstücke machen:
Knoten->Flächenrand1, Flächenrand1->Flächenrand2, Flächenrand2->anderer Knoten
Und dabei der Entfernung in der Fläche einen Streckungsfaktor aufrechnen, sodass die entfernen länger gemacht wird, (also die fläche schwerer ist zu fahren)

Danke für diesen TIP, werde es mit einbauen

Verfasst: 09.09.2008 17:08
von STARGÅTE
UPDATE
- OnError eingebaut (@dige)
- Speicherlegs entfernt (@RSBasic)
- Wegoptimierung (@hörmi)
- Suche beschleunigt
- Laden und Speichern

Hinweise
Falls es mal wieder zu einem seltsammen Weg kommt,
könnt ihr nun mit F5 die Situation abspeichern.
Die Daten liegen dann in 'PathFindLog.txt'.
Diese könnte ihr dann zu mir schicken (ICQ, eMail, siehe Profil), damit ich untersuchen kann warum es dazu kam.

PathFind - Demo

Verfasst: 09.09.2008 17:13
von kswb73
Schick Schick. Leider gibst bei "gewusel" immernoch ne Fehlermeldung.

PS: Warum hast du's nicht unter "Projekte, Ressourcen, Tools" gepackt. Es ist ein laufendes Projekt und es soll anderen Programmieren als Ressource dienen. Ein Spiel ist es nicht wirklich, auch wenn viele daraus ein machen werden. (Vielleicht aber auch eine Laberintlöser?)

Bild[/img]

Verfasst: 09.09.2008 17:29
von RSBasic
@STARGÅTE
Danke

Das ist ja richtig schnell, sehr schnell :D

Aber:
---------------------------
Fehler
---------------------------
An attempted read or write to/from an address to which that process isn't allowed
C:\PureBasic-Proceduren\Line2D.pbi Line: 57
Memory: 4208257
---------------------------
OK
---------------------------
Ich habe nicht viel gemacht, nur ein paar Linien, etwa so:
Bild

PS: Titel des Fensters musst du noch ändern :mrgreen:

Verfasst: 09.09.2008 17:48
von STARGÅTE
Derzeit habe ich noch das Problem zu erkennen, wann sich eine "Wegführung" um Kreis dreht.

Da ich lieber zu "vorsichtig" bin, werden auch wege gekillt, die vllt garnicht im unendlichen enden....

Mein Kopf rauchst... werde erst in der nacht weiter machen ...

Verfasst: 09.09.2008 17:49
von cxAlex
Ich hab denselben Fehler:

Bild

Verfasst: 09.09.2008 17:52
von kswb73
:roll:
Bild

PS: Wenn der mal einen Weg nicht findet und man dann einmal kurz bearbeitet, dann tuts wieder.

Verfasst: 09.09.2008 18:10
von cxAlex
Nach der Meldung stürzt das ganze aber ab, da kann man nichts mehr bearbeiten.

Verfasst: 09.09.2008 21:20
von RSBasic
Wieso ist das Ziel unerreichbar?
Bild
Das ist doch leicht zugänglich.

Verfasst: 09.09.2008 22:30
von gnasen
Bild

Berechnet den Weg ohne Probleme. Nur irgendwann, ganz plötzlich (wenn man viele kleine wände baut) zerreisst es die Wegfindung. Von 0ms auf Thread-Tod ^^