AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Einen freien Weg mit Wegpunkten finden
Thema durchsuchen
Ansicht
Themen-Optionen

Einen freien Weg mit Wegpunkten finden

Ein Thema von Flogo · begonnen am 29. Aug 2004 · letzter Beitrag vom 3. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Flogo
Flogo

Registriert seit: 24. Mär 2003
Ort: Freiburg im Breisgau
317 Beiträge
 
Delphi 7 Professional
 
#1

Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 12:02
Wieder mal geht es bei mir um ein 2D Spiel:

Ich verschiebe bis jetzt Figuren indem ich ihnen ein Ziel (Point) gebe und sie bei jedem Zeichnen der Szene(wird über Timer gesteuert) einen Schritt in Richtung dieses Zieles machen lasse.

Jetzt ergibt sich aber das Problem, dass nicht alle Bereiche der Szene zum Laufen freigegeben sein sollen. Im Moment läuft die Figur gerade auf das Ziel zu und bleibt dann stehen, wenn es nicht weiter geht. Es sind also nur direkte Weg möglich.

Ich stell mir als Lösung soetwas vor wie
Delphi-Quellcode:
if direkterWegMöglich then macheEinenSchritt // alte Variante
else macheEinenSchrittZumNächstenWegPunktInDerRichtigenRichtung
Mein Problem liegt in der zweiten Zeile (*surprise*):
- Wie entscheide ich zu welchem Wegpunkt ich muss?
- Wie vermeide ich Sackgassen?
- könnte man das auch mit vordefinierten Wegpfaden machen und wäre das besser?

Ich bin über jede Anregung oder Alternative dankbar
If one coincidence can occur, then another coincidence can occur. And if one coincidence happens to occur just after another coincidence, then that is just a coincidence.
DNA

www.Anyxist.de
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 12:08
Such mal nach [google]"A*" Delphi[/google]!

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 12:24
Zitat von Ratte:
Such mal nach [google]"A*" Delphi[/google]!

Ratte
Ähm, ich glaube es gibt ziemlich viele Seiten die ein Wort mit einem großen A am anfang und Delphi im Text haben...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 12:25
wobei du mit A* nicht weit kommen wirst, weil Sonderzeichen (*) ignoriert werden und der Rest (A) ein zu häufiges Wort ist ...
Peter Enenkel
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 12:26
Ich glaube er meint den Algorithmus, welcher afaik "A*" heißt. Nur wie man nach dem Suchen soll ist mir ein Rätsel.
Peter Enenkel
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 12:58
Wie wär's mit [google]"A Star Algorithm"[/google]?
Auch eine Suche nach [google]"A algorithm"[/google] (der Stern wird ja auch auf den Seiten ignoriert) liefert vernünftige Ergebnisse.

Ganz generell empfehle ich folgenden Artikel: Gamasutra - Smart Moves: Intelligent Path-Finding. Da wird auch A* abgehandelt, und es ist eine (in Delphi geschriebene) Demo herunterladbar.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#7

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 13:07
um das zu lesen muss man sich aber bei denen anmelden. (nur so als hinweis, sollte nicht wirklich abhalten)
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 13:09
auch hier wurde das ganze schonmal erwähnt: http://www.delphipraxis.net/internal...ect.php?t=2280
und in der c't 8.2003 aus Seite 168 (Scheinintelligenz) war auch mal ein interessanter Artikel dazu.
Peter Enenkel
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#9

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 14:47
Zitat von nailor:
um das zu lesen muss man sich aber bei denen anmelden. (nur so als hinweis, sollte nicht wirklich abhalten)
Tja, sowas merkt man nicht, wenn man überall dauerangemeldet ist 8)

Wenn man Spiele entwickeln will, lohnt es sich aber ohnehin auf jeden Fall, bei Gamasutra.com und Gamedev.net angemeldet zu sein...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Thebe

Registriert seit: 25. Jul 2004
Ort: Wedel
78 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Einen freien Weg mit Wegpunkten finden

  Alt 29. Aug 2004, 16:55
die GameDev Variante: http://www.gamedev.net/reference/pro...eatures/astar/
  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:20 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