AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pathfinding

Ein Thema von fox67 · begonnen am 11. Jan 2011 · letzter Beitrag vom 13. Jan 2011
Antwort Antwort
Seite 1 von 2  1 2      
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#1

Pathfinding

  Alt 11. Jan 2011, 21:52
Ich habe mir einen einfach pathfinding algorythmus ausgedacht und programmiert jetzt will ich das erweiter so dass es auch mit hindernissen funktioniert.
PS: (für die perdonen die die datei runteladen) das ziel der grüne kasten kann man mit den pfeiltastensteurn)
Angehängte Dateien
Dateityp: 7z pathfinding.7z (152,4 KB, 19x aufgerufen)

Geändert von fox67 (11. Jan 2011 um 22:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Pathfinding

  Alt 11. Jan 2011, 21:58
jetzt will ich das erweiter so dass es auch mit hindernissen funktioniert
Dann wünsche ich dir viel Erfolg. Oder was erwartest du jetzt? Und neben bei bemerkt, was ist an einem Hindernis anders, als eine Wand in einem Labyrinth?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#3

AW: Pathfinding

  Alt 11. Jan 2011, 22:28
Naja. Das ist ja nur halbes Pathfinding würde ich sagen... Wenn du da Hindernisse einbauen möchtest, und bei deinem Ansatz bleiben möchtest, musst du doch einfach nur die 'if' Teile in den Timern/OnKeyDown ändern, so dass sich weder Kreis noch Kasten über andere Dinger (=Hindernisse) drüber bewegen können? Vielleicht die Hindernisse in einem Array/Liste merken (im OnCreate alle erstellen und in die Liste packen) und dann einfach bei jeder Bewegung die Liste iterieren, und schauen, ob die neue Koordinate erlaubt ist, oder nicht.
Echtes Pathfinding (okay, bin da auch nur ein 'Idiot', aber A-Stern kenne ich) sieht für mich anders aus, das beinhaltet am Ende dann nicht nur "Da darf ich hin" und "Da darf ich nicht hin", sondern noch Abstufungen dazwischen. Anstatt von "Frei" und "Wand" gibt es dann vielleicht noch sowas wie "Schlamm" oder "nächstes Feld geht bergauf, deshalb dauert es länger und ist ein schlechterer Weg", wo nur drüber gegangen wird, wenn man damit schneller wäre, als wenn man den Weg über "Frei" wählt..
Dieser Ansatz mit den Timern ist nicht gerade optimal und macht auf lange Sicht nicht glücklich. Wenn man mal ein bisschen rumfrickeln will und wie hier nur "Wand" und "Frei" hat geht das vielleicht noch, spätestens wenn das Spiel dann flüssig laufen soll, es "Wand", "Frei" und "Schlamm"/"Bergauf" gibt und man nicht nur VCL, sondern was anderes (z.B. Andorra2D-Engine) benutzt, kann man sich wohl davon verabschieden..
Sprich: Wenn du hier nur experimentieren willst, ist das okay, aber wenn du auf lange Sicht mehr willst, solltest du das Konzept ändern..

LG
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Pathfinding

  Alt 12. Jan 2011, 08:34
virstrtriMyList phonetisch wird's irgendwie nicht besser
$2B or not $2B
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Pathfinding

  Alt 12. Jan 2011, 17:07
Ich habe bis jetzt noch nie mit arrays oder listen gearbeitet könntest mir jemand ein gutes tutorial zeigen was ich dann aber auch für mein problem gebrauchen kann
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Pathfinding

  Alt 12. Jan 2011, 17:24
Klar, wir lesen die schnell alle und schauen ob sie passen. Also das musst du schon selber machen.
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Pathfinding

  Alt 12. Jan 2011, 17:26
so habe ich das nicht gemeint aber vielleicht kennt ja jemand ein tutorial dass ihm selbst mal geholfen hatt und dass gerade hier reinpasst
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Pathfinding

  Alt 12. Jan 2011, 17:29
Hab ich mir schon gedacht, dass das so gemeint war, aber die Antwort konnte ich mir einfach nicht verkneifen

Habe selber leider gerade nichts passendes zur Hand. Aber ein Grundlagen-Buch wäre sicher nicht verkehrt. Dann hat man wenigstens was, in dem man mal nachschlagen kann.
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#9

AW: Pathfinding

  Alt 12. Jan 2011, 19:14
Ich meine, ich habe mich an dem hier orientiert: http://www.policyalmanac.org/games/a...torial_de.html

Vielleicht hilft das.. Achja: Es sieht am Anfang kompliziert aus (viel Text), ist aber eigentlich nicht so schwierig.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#10

AW: Pathfinding

  Alt 13. Jan 2011, 15:18
dieses tutorial kenn ich ich habe es auch schon ein zwei mal durchgelesen aber wie gesagt ich habe noch nie mit listen oder arrays gearbeitet also bringt mir dieses tutorial auch nicht viel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:57 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