BSP Pathfinding

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

black_threat

Betreff: BSP Pathfinding

BeitragDo, Jul 01, 2004 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Suche ein simples Beispiel wo ein charakter über ein einfaches tileset läuft mit pathfinding (4 Richtungen sind völlig ausreichend)
ich hab schonmal gefragt aber anscheinend liest es keiner im anderen tread darum hab ich einen neuen eröffnet.
ich hoffe ihr könnt mir helfen.

black_threat

TheShadow

Moderator

BeitragDo, Jul 01, 2004 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Jan schreib mal dein Beispiel für BB2D um und gib es Black, sonst wird das nix hier Smile

Coden soll man lernen und nicht auf einem Presentierteller vorgelegt bekommen...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

black_threat

BeitragDo, Jul 01, 2004 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
TheShadow hat Folgendes geschrieben:
Jan schreib mal dein Beispiel für BB2D um und gib es Black, sonst wird das nix hier Smile

Coden soll man lernen und nicht auf einem Presentierteller vorgelegt bekommen...


Aus Beispielen lernt man Wink
 

Edlothiol

BeitragDo, Jul 01, 2004 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Eher weniger... aus selber probieren viel mehr Wink

Tobchen

BeitragDo, Jul 01, 2004 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei 4 Richtungen ist es so einfach!

Code: [AUSKLAPPEN]
If PlayerY < ZielY Then PlayerY = PlayerY + 1
If PlayerY > ZielY Then PlayerY = PlayerY - 1
If PlayerX < ZielX Then PlayerX = PlayerX + 1
If PlayerX > ZielX Then PlayerX = PlayerX - 1


Tadaa!

rambo256

BeitragDo, Jul 01, 2004 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Tobi hat Folgendes geschrieben:
Bei 4 Richtungen ist es so einfach!

Code: [AUSKLAPPEN]
If PlayerY < ZielY Then PlayerY = PlayerY + 1
If PlayerY > ZielY Then PlayerY = PlayerY - 1
If PlayerX < ZielX Then PlayerX = PlayerX + 1
If PlayerX > ZielX Then PlayerX = PlayerX - 1


Tadaa!


Ja und was macht man dann,wenn da Hindernisse sind?! Rolling Eyes
Autsch Wink
Asus F53z

Das Leben ist eine reine Konkatenation...

Tobchen

BeitragDo, Jul 01, 2004 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Davon steht da nix. Außerdem ist es simple. So wie er wollte.

rambo256

BeitragDo, Jul 01, 2004 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ok,aber ich glaub nicht,das ihm das weiter helfen würde... Confused
Asus F53z

Das Leben ist eine reine Konkatenation...
 

Edlothiol

BeitragDo, Jul 01, 2004 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch, da stehtZitat:
mit pathfinding
Rolling Eyes

Jan_

Ehemaliger Admin

BeitragDo, Jul 01, 2004 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, ok aber frühestens nächste Woche!
between angels and insects

rambo256

BeitragDo, Jul 01, 2004 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meinte jetzt speziell Tobi's Beispiel.
Asus F53z

Das Leben ist eine reine Konkatenation...

Freeman

BeitragFr, Jul 02, 2004 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
k, das is nen ganz simples beispiel für pathfinding mit waypoints ebn, schauts auch an, niks besondres, is auch nur ganz schnell gemacht :
hier

FrEeMaN
 

black_threat

BeitragFr, Jul 02, 2004 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Freeman hat Folgendes geschrieben:
k, das is nen ganz simples beispiel für pathfinding mit waypoints ebn, schauts auch an, niks besondres, is auch nur ganz schnell gemacht :
hier

FrEeMaN


das hilft mir ja schon mal weiter, nur brauch ich jetzt noch das man den waypoint mit der maus setzten kann, und auch hindernisse zu umgehen.
 

black_threat

BeitragSa, Jul 03, 2004 9:09
Antworten mit Zitat
Benutzer-Profile anzeigen
nach einiger zeit des suchens hab ich ein ganz gutes beispiel an pathfinding gefunden so wie ich es mir vorstellen nur scheint das ganze etwas kompliezierter als ich erwartet hatte:

Code: [AUSKLAPPEN]

   Graphics 400,400,0,2
   AppTitle "Example"
   
   Const TILE_WIDTH  =10     
   Const TILE_HEIGHT =10     
   Const XTILES      =40     
   Const YTILES      =40     
   
   Global cursorX    =0     
   Global cursorY    =0     
   
   Global personX    =120   
   Global personY    =120   
   Global personMOVE =False 
   Global personCOUNT=0    
   
   Global mouse     =False 
   
   

   Global grass=LoadImage("grass.bmp")
   Global road=LoadImage("road.bmp")
   Global sand=LoadImage("sand.bmp")
   Global wall=LoadImage("wall.bmp")
   Global person=LoadImage("person.bmp")
   MaskImage person,255,0,0
   

   Global mapIMAGE=CreateImage(XTILES*TILE_WIDTH,YTILES*TILE_HEIGHT)


   ;0=grass  (average movement)
   ;1=road   (fast movement   )
   ;2=sand   (slow movment    )
   ;3=wall   (no movement     )
   Dim map(XTILES-1,YTILES-1)
   Dim mapCOST(2)
   
         mapCOST(0)=3
         mapCOST(1)=1
         mapCOST(2)=5
               
      
      
   
   
   
   
   
   
   
   
   SetBuffer ImageBuffer(mapIMAGE)
   Restore LOADMAP
   For loadY=0 To YTILES-1
      For loadX=0 To XTILES-1
         Read map(loadX,loadY)
         Select map(loadX,loadY)
            Case 0
               DrawImage grass,loadX*TILE_WIDTH,loadY*TILE_HEIGHT
            Case 1
               DrawImage road,loadX*TILE_WIDTH,loadY*TILE_HEIGHT
            Case 2
               DrawImage sand,loadX*TILE_WIDTH,loadY*TILE_HEIGHT
            Case 3
               DrawImage wall,loadX*TILE_WIDTH,loadY*TILE_HEIGHT
         End Select
      Next
   Next
   
   .LOADMAP
   
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,0,0,0,0,0,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,2,2,0,0,0,0,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,2,2,2,0,0,2,2,0,0,0,2,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,2,2,0,2,2,2,0,0,2,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,2,2,2,2,2,0,0,2,2,0,0,2,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,2,2,2,0,0,0,2,2,0,0,2,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,2,2,2,0,2,2,0,0,2,2,0
   Data 0,0,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,2,2,2,0,0,2,2,2,2,2,2,0
   Data 0,0,2,2,1,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,2,2,2,0,0,0,0,2,2,0,0,0,0
   Data 2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
   Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
   Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
   Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
   Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
   Data 3,3,3,3,3,3,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,2,3,3,3,3,3,3,3
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,2,3,2,2,2,2,2,2
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,2,3,2,2,2,2,2,2
   Data 2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,2,2,2,2,2,2,2,2
   Data 2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,2,2,2,2,2,2,2,2
   Data 2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,0,2,2,2,2,2,2,2
   Data 2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,2,2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,2,2,1,3,3,3,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,3,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,2,1,3,3,3,3,3,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,3,0,0,0,3,2,2,2,2,2,2
   Data 2,2,2,1,3,3,3,3,3,3,3,3,1,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,3,0,0,0,3,2,2,2,2,2
   Data 2,2,1,3,3,3,3,3,3,3,3,3,3,1,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,3,0,0,0,3,2,2,2,2,2
   Data 2,1,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,3,0,0,0,3,2,2,2,2,2
   Data 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,3,0,0,0,0,3,2,2,2,2
   Data 2,1,3,3,3,1,3,3,3,3,1,3,3,3,1,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,0,0,0,3,2,2,2,2
   Data 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,3,3,2,2
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,3,3
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0
   Data 2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0
   Data 2,2,2,2,2,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0
   Data 2,2,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0
   Data 2,2,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0

   Dim Cpointers.close(XTILES-1,YTILES-1)
   Dim Opointers.open(XTILES-1,YTILES-1)
   
   
   Type close
      Field ID,X,Y,COST,F
      Field parentID,parentX,parentY
   End Type
   
   
   Type open
      Field ID,X,Y,COST,F
      Field parentID,parentX,parentY
   End Type
   
   
   Type path
      Field direction
   End Type

   While KeyDown(1)=False
      SetBuffer BackBuffer()
      Cls
      cursorX=(MouseX()/tile_WIDTH)
      cursorY=(MouseY()/tile_HEIGHT)
      renderscene()
      
      If mouse=False Then
         If MouseDown(1)=True Then
            mouse=True
         End If
      Else
         If MouseDown(1)=True Then
            mouse=True
         Else
            mouse=False
         End If
         If map(cursorX,cursorY)<>3 And personMOVE=False Then
            findpath(personX/TILE_WIDTH,personY/TILE_WIDTH,cursorX,cursorY)
         End If
      End If
      
      
      If personMOVE=True Then
         If personCOUNT=0 Then
            If First path = Null Then
               
               personMOVE=False
            Else
               
               Delete First path
               If First path = Null Then
                  personMOVE=False
               Else
                  p.path=First path
                  If p\direction=1 Or p\direction=2 Then
                     personCOUNT=TILE_HEIGHT
                  Else
                     personCOUNT=TILE_WIDTH
                  End If
               End If
            End If
         Else
            p.path = First path
            If p\direction=1 Then
               personY=personY-2
            ElseIf p\direction=2
               personY=personY+2
            ElseIf p\direction=3
               personX=personX-2
            ElseIf p\direction=4
               personX=personX+2
            EndIf
            personCOUNT=personCOUNT-2
         End If
      End If
      
      Flip
   Wend
   

   
   Function findpath(startX,startY,endX,endY)
      Local IDcounter=1                  
      Local currentX,currentY,current.open   
      Local U,D,L,R,LOWEST               
      
      Local scanopen=0,scan.open=Null         
      Local scancount=4000               
      
      
      IDcounter=addnodeopen(True,IDcounter,startX,startY,0,findhcost(startX,startY,endX,endY),0,startX,startY)
      
      
      While First open <> Null
         
         current.open = First open
         
         
         If current\X=endX And current\Y=endY Then
            
            addnodeclosed(current\ID,current\X,current\Y,current\COST,current\F,current\parentID,current\parentX,current\parentY)
            childX=endX
            childY=endY
            
            
            Repeat
               parentX=Cpointers.close(childX,childY)\parentX
               parentY=Cpointers.close(childX,childY)\parentY
               Color 255,0,0
               If showpath=True Then DrawImage tiles,childX*TILE_WIDTH,childY*TILE_HEIGHT,0

               
               If mouse=False Then
                  
                  If childY<parentY Then
                     p.path=New path
                     p\direction=1
                     
                     Insert p.path Before First path
                  
                  ElseIf childY>parentY
                     p.path=New path
                     p\direction=2
                     
                     Insert p.path Before First path
                  
                  ElseIf childX<parentX
                     p.path=New path
                     p\direction=3
                     
                     Insert p.path Before First path
                  
                  Else
                     p.path=New path
                     p\direction=4
                     
                     Insert p.path Before First path
                  End If
                  
                  personMOVE=True
               End If
               If childx=startX And childy=startY Then Exit
               childX=parentX
               childY=parentY
            Forever
            Exit
         End If
         
         
         
         
         U=current\COST+mapCOST(map(current\X,current\Y))+findhcost(current\X,current\Y-1,endX,endY)
         
         D=current\COST+mapCOST(map(current\X,current\Y))+findhcost(current\X,current\Y+1,endX,endY)
         
         L=current\COST+mapCOST(map(current\X,current\Y))+findhcost(current\X-1,current\Y,endX,endY)
         
         R=current\COST+mapCOST(map(current\X,current\Y))+findhcost(current\X+1,current\Y,endX,endY)
         
         
         If current\Y-1 >= 0 Then
            If map(current\X,current\Y-1)<>3 Then
               If Cpointers.close(current\X,current\Y-1)=Null Then
                  If Opointers.open(current\X,current\Y-1)=Null Then
                     
                     IDcounter=addnodeopen(False,IDcounter,current\X,current\Y-1,current\COST+mapCOST(map(current\X,current\Y)),U,current\ID,current\X,current\Y)
                  End If
               End If
            End If
         End If
         
         If current\Y+1 <= YTILES-1 Then
            If map(current\X,current\Y+1)<>3 Then
               If Cpointers.close(current\X,current\Y+1)=Null Then
                  If Opointers.open(current\X,current\Y+1)=Null Then
                     
                     IDcounter=addnodeopen(False,IDcounter,current\X,current\Y+1,current\COST+mapCOST(map(current\X,current\Y)),D,current\ID,current\X,current\Y)
                  End If
               End If
            End If
         End If
         
         If current\X-1 >= 0 Then
            If map(current\X-1,current\Y)<>3 Then
               If Cpointers.close(current\X-1,current\Y)=Null Then
                  If Opointers.open(current\X-1,current\Y)=Null Then
                     
                     IDcounter=addnodeopen(False,IDcounter,current\X-1,current\Y,current\COST+mapCOST(map(current\X,current\Y)),L,current\ID,current\X,current\Y)
                  End If
               End If
            End If
         End If
         
         If current\X+1 <= XTILES-1 Then
            If map(current\X+1,current\Y)<>3 Then
               If Cpointers.close(current\X+1,current\Y)=Null Then
                  If Opointers.open(current\X+1,current\Y)=Null Then
                     
                     IDcounter=addnodeopen(False,IDcounter,current\X+1,current\Y,current\COST+mapCOST(map(current\X,current\Y)),R,current\ID,current\X,current\Y)
                  End If
               End If
            End If
         End If
         
         addnodeclosed(current\ID,current\X,current\Y,current\COST,current\F,current\parentID,current\parentX,current\parentY)
         Delete current.open
         
         
         scanopen=XTILES*YTILES*(XTILES*YTILES)
         tempcount=0
         tempflag=False
         For scan.open=Each open
            If scan\F < scanopen Then
               current.open=scan.open
               scanopen=scan\F
               tempflag=True
            End If
            tempcount=tempcount+1
            If tempcount=scancount Then Exit
         Next
         If tempflag=True Then Insert current.open Before First open
         
      Wend
      
      Dim Cpointers.close(XTILES-1,YTILES-1)
      Dim Opointers.open(XTILES-1,YTILES-1)
      For oLIST.open = Each open
         Delete oLIST.open
      Next
      For cLIST.close = Each close
         Delete cLIST.close
      Next
   End Function
   
   
   Function FindHcost(findX,findY,findENDX,findENDY)
      Return Abs(findX-findENDX)+Abs(findY-findENDY)
   End Function   
   
   
   Function AddNodeOpen(addWHERE,addID,addX,addY,addCOST,addF,addparentID,addparentX,addparentY)
      If showpath=True Then DrawImage tiles,addX*TILE_WIDTH,addY*TILE_HEIGHT,1
      
      oLIST.open = New open
      oLIST\ID=addID
      oLIST\X=addX
      oLIST\Y=addY
      oLIST\COST=addCOST
      oLIST\F=addF
      oLIST\parentID=addparentID
      oLIST\parentX=addparentX
      oLIST\parentY=addparentY
   
      Opointers.open(addX,addY)=oLIST.open
      If addWHERE=True Then
         Insert oLIST.open Before First open
      End If
      Return addID+1
   End Function
   
   
   Function AddNodeClosed(addID,addX,addY,addCOST,addF,addparentID,addparentX,addparentY)
      cLIST.close = New close
      cLIST\ID=addID
      cLIST\X=addX
      cLIST\Y=addY
      cLIST\COST=addCOST
      cLIST\F=addF
      cLIST\parentID=addparentID
      cLIST\parentX=addparentX
      cLIST\parentY=addparentY
      
      Cpointers.close(addX,addY)=cLIST.close
      Opointers.open(addX,addY)=Null
   End Function
      
   Function RenderScene()
      DrawBlock mapIMAGE,0,0
      DrawImage person,personX-1,personY-5
      If personMOVE=False Then
         Color 0,150,0
      Else
         Color 255,0,0
      End If
      If map(cursorX,cursorY)<>3 Then
         Rect cursorX*TILE_WIDTH,cursorY*TILE_HEIGHT,TILE_WIDTH,TILE_HEIGHT,0
         Rect cursorX*TILE_WIDTH-1,cursorY*TILE_HEIGHT-1,TILE_WIDTH+2,TILE_HEIGHT+2,0
      End If
   End Function


ist das wirklich wichtig das ich das alles verstehe, wenn ja könnte es mir jemand erklären? Ich meine jetzt speziell pathfinding. BITTE.
 

woody

BeitragDi, Jul 06, 2004 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab hier ein pathfindingprogramm geproggt, doch irgenwie funzt et nich so, wie ich es wollte.

Code: [AUSKLAPPEN]

graphics 800,600,16,1
setbuffer backbuffer()
spieler=loadimage("noob.bmp")
clscolor 255,255,255
spielerx=390
spielery=290

repeat
 cls
 x=mousex()
 y=mousey()
 if mousehit(1) then
  zielx=mousex()
  ziely=mousey()
 end if
 drawimage spieler,spielerx,spielery
 if zielx>spielerx then spielerx=spielerx+1
 if zielx<spielerx then spielerx=spielerx-1
 if ziely>spielery then spielery=spielery+1
 if ziely<spielery then spielery=spielery-1   
 flip
until keyhit(1)

BladeRunner

Moderator

BeitragDi, Jul 06, 2004 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Woody: Er läuft ja schon zu den Mauskoordinaten. Ist aber dennoch kein Pathfinding, da ja ein (wenn denn Vorhandener) Hintergrund nicht berücksichtigt wird. er würde durch mauern durchlaufen, nicht drumherum.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hubsi

BeitragDi, Jul 06, 2004 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
@black_threat: Wenn ich mir Deine Beiträge so ansehe (nicht nur in diesem Thread, überhaupt) bekomme ich das Gefühl Du übernimmst Dich etwas. Es gibt viele hier die meinen sie müssen als erstes Spiel gleich Command & Conquer 6 auf die Beine stellen und fallen damit spätestens nach zwei Wochen auf die Nase Wink Ich habe auch mit einem kleinen Shooter angefangen. Der Code war, gelinde gesagt, billig, aber ich habe ihn verstanden und war tierisch stolz darauf, weil ich es alleine gemacht hatte.
Das ist nicht böse oder belehrend gemeint, was Du machst ist Deine Sache Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

black_threat

BeitragMi, Jul 07, 2004 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ja deswegen hab ich mir rene meyers buch gekauft, werd mal klein anfangen Wink

Keimax

BeitragMi, Jul 07, 2004 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbase.de/artikel/path_1.htm

cu
XP3000, FX6600, 1024DDR, BB2d @ W2k,
- > Diesen Text bitte nicht beachten <-

Kabelbinder

Sieger des WM-Contest 2006

BeitragFr, Jul 09, 2004 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir mal etwas Zeit genommen und auch mal versucht, soeinen Pathfinder zu machen, aber irgendwie ist der noch nicht so ganz ausgereift, wenn Wände zwischen dem Ziel und dem Start sind, schafft er es immer nur auf die richtige y-koordinate:

http://home.arcor.de/platzvers...finder.rar

wüsste jemand, wie man da Abhilfe schaffen kann?
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group