Seite 1 von 2

Data Sections

Verfasst: 05.09.2005 18:30
von seggl
wie kann ich den 1en z.B. ein graues sprite (Wand) bzw. den 2en einen freiraum zuweisen in dem man sich bewegen kann??

Code: Alles auswählen


DataSection 
Data.l 1,1,1,1,1,1,1
Data.l 1,2,2,2,2,2,1
Data.l 1,2,1,2,1,2,1               ;1 = wand
Data.l 1,2,2,2,2,2,1               ;2 = freier platz
Data.l 1,2,1,2,1,2,1     
Data.l 1,2,2,2,2,2,1   
Data.l 1,1,1,1,1,1,1 
EndDataSection


Verfasst: 05.09.2005 18:46
von Green Snake
zu diesem thema gibts schon viel hier im forum.
such mal mit der suchfunktion :allright:

Verfasst: 06.09.2005 07:22
von PAMKKKKK
Der wohl beste Algoritmus zum wegfinden nennt sich A*.
Wenn man in der suche A* eingibt bekommt man alle wörter die mit A beginnen :lol:

schau mal hier:
http://forums.purebasic.com/german/view ... athfind%2A

in diesem Thread hier ist ein Link zu einer Englischen Erkärung von A*
http://forums.purebasic.com/german/arch ... php?t=4877

A* Pathfinding for Beginners = http://www.policyalmanac.org/games/aStarTutorial.htm

Sonnst Googel oder Forums-Suche benutzen

Verfasst: 06.09.2005 07:35
von DarkDragon
PAMKKKKK hat geschrieben:Der wohl beste Algoritmus zum wegfinden nennt sich A*.
Wenn man in der suche A* eingibt bekommt man alle wörter die mit A beginnen :lol:

schau mal hier:
http://forums.purebasic.com/german/view ... athfind%2A

in diesem Thread hier ist ein Link zu einer Englischen Erkärung von A*
http://forums.purebasic.com/german/arch ... php?t=4877

A* Pathfinding for Beginners = http://www.policyalmanac.org/games/aStarTutorial.htm

Sonnst Googel oder Forums-Suche benutzen
Hä was hat das hier zu suchen?

Verfasst: 06.09.2005 08:05
von PAMKKKKK
@DarkDragon
In den oben genannten Links ist ein Codebeispiel das die Frage gut erklärt!

Wenn man sich das betrachtet, kann man es leicht erweitern. (dachte ich)

Code: Alles auswählen

Procedure.l chkNode(x, y, stopX, stopY)
  If Map(x, y) = 1; If it is not walkable or if it is on the closed list, ignore it 
Die Zahlen 1 und 0 reichen aus um ein Gebiet begehbar 0 oder nicht begehbar 1 zu machen.
seggl hat nach 1 und 2 gefragt was gleichbedeutend mit 0 und 1 ist!

Fügt man nun Mehr zahlen 1,2,3,.... hinzu so bekommt man einen Virtuellen-Berg. Mit ansteigen der Zahlen steigen auch die kosten der Bewegung.

Wenn der Berg zu steill wird, sollte dann wieder 1 (not walkable) zum einsatz kommen.

Ausserdem, wenn man den Algorythmus versteht, dann wird´s leichter was eigenes zu entwickeln!

Ein Paar wörter für die Suchmaschine:
Pathfinder Pathfinding wegsuchen wegfinden A* A stern

Verfasst: 06.09.2005 08:26
von DarkDragon
Ähh sorry, er will erstmal ja nur Anzeigen und die DataSection auslesen. Er ist ja nichtmal soweit dass er ne KI braucht. Das ist komplettes OffTopic was du da machst(Thema verfehlt).

Verfasst: 06.09.2005 11:57
von AndyX

Code: Alles auswählen

Restore levelData

For i 0 to weißichnich
  Read blabla
  if blabla = 1
    DisplaySprite(das,dort,dadrüben,usw.)
  endif
  usw....
Next i

DataSection:
levelData:
Data.l 1,2,1
EndDataSection

Verfasst: 06.09.2005 13:14
von seggl
DarkDragon hat geschrieben:Ähh sorry, er will erstmal ja nur Anzeigen und die DataSection auslesen. Er ist ja nichtmal soweit dass er ne KI braucht. Das ist komplettes OffTopic was du da machst(Thema verfehlt).
Möngi!!

Verfasst: 06.09.2005 13:32
von hardfalcon
seggl hat geschrieben:Möngi!!
:o Was für eine qualifierzierte Aussage! :shock:

Verfasst: 06.09.2005 13:48
von AndyX
was heißt Möngi?