Collision Help...

Blitz3D Forums/Blitz3D Beginners Area/Collision Help...

Ok, get an array to hold the items, for a 6x6 you would need:
Dim grid(7,7) ;Make the value of the edge -1, that'll come in handy
give each different item a number, and use 0 for a blank space. You will probably also need someting like this:
playerlaunched ;for telling if the player have been launched
playertype ;of course
playerx
playery ;position on the grid
playerspeedx
playerspeedy ;how fast the player moves in both directions, so when the player is launched, one will be 0 and one will be 1 or -1

Some movement code:
While playerlaunched
  If grid(playerx+playerspeedx,playery+playerspeedy)=0 Then
    playerx=playerx+playerspeedx
    playery=playery+playerspeedy
  Else if grid(playerx+playerspeedx,playery+playerspeedy)=playertype Then
    ;I'll save this bit for you
  Else if grid(playerx+playerspeedx,playery+playerspeedy)=-1
    ;There was nothing in the row, so the item just passed
  Else
    ;An item of a different type
  End If
  Delay 800 ;I suppose you don't want everything to happen instantly
Wend

I hope you can use it :)