Well, I got the shot to display, but I cant get the thing to move Good greif, lol

Here's my shot structure, the bullet fires at the angle of the ship:
vb Code:
  1. Public Structure Shot
  2.         Dim XPos As Int32
  3.         Dim YPos As Int32
  4.         Dim picbox As PictureBox
  5.         Dim speed As Int32
  6.         Dim distance As Int32
  7.         Dim angle As Int32
  8.         Dim damage As Single
  9.         Sub UpdateShot()
  10.             Dim X, Y As Int32
  11.  
  12.             X = -Math.Sin(angle * Math.PI / 180.0) * 3
  13.             Y = -Math.Cos(angle * Math.PI / 180.0) * 3
  14.  
  15.             XPos = XPos + X
  16.             YPos = YPos + Y
  17.             picbox.Location() = New Point(XPos, YPos)
  18.             'Add your collision checking code here
  19.         End Sub
  20.     End Structure

Here's where the shot is created (mouse click):
vb Code:
  1. x.picbox = New PictureBox
  2.                 x.picbox.Image = pctShot.Image
  3.                 x.picbox.SizeMode = PictureBoxSizeMode.AutoSize
  4.                 'x.picbox.Location = New Point(500, 500)
  5.                 x.XPos = myShip.picbox.Location.X + (myShip.picbox.Width / 2)
  6.                 x.YPos = myShip.picbox.Location.Y + (myShip.picbox.Height / 2)
  7.                 x.speed = 3
  8.                 x.distance = 500
  9.                 x.picbox.Visible = True
  10.                 x.angle = myShip.angle
  11.                 Controls.Add(x.picbox)
  12.                 shotList.Add(x)

Background worker shot dowork:
vb Code:
  1. For i = 1 To 2
  2.             bwShot.ReportProgress(i)
  3.             If i = 2 Then i = 1
  4.             If bwShot.CancellationPending = True Then
  5.                 Exit For
  6.             End If
  7.             System.Threading.Thread.Sleep(30)
  8.         Next

Background worker shot progress changed:
vb Code:
  1. Dim y As Shot
  2.         For Each y In shotList
  3.             y.UpdateShot()
  4.         Next

Now I can tell that it is making the shot because it's displaying it (where the ship is), but it's not moving. Through use of msgbox's I've determined that it's getting inside the updateshot routine, but nothing is changing. the updateshot code is basically the same code for the ships movement, only in this case the angle is constant (set to what angle the ship was at fireing). Any thoughts would be appreciated, I'm probably missing somthign obvious.