title: Gala type of game list of missile and list of asteroid collisions
body: <p>I'm having a problem intersecting these two list using Rectangle.Intersect.
  i tried putting for loop inside the missile or asteroid but it has an error.</p>
  
  <pre><code>for (int i = 0; i &lt; missile.Count; i++)
  {
      missile[i].setMissileY();
      if (rect_Light.Intersects(missile[i].getMissileRectangle()))
      {
         missile.Remove(missile[i]);
      }
  } 
  
  for (int i = 0; i &lt; asteroid.Count; i++)
  {
      asteroid[i].setAsteroidY();
      if (asteroid[i].getAsteroidY() &gt;= Window.ClientBounds.Height || rect_Player.Intersects(asteroid[i].getAsteroidRectangle()))
      {
         if (rect_Player.Intersects(asteroid[i].getAsteroidRectangle()))
         {
            life -= 1;
         }
         asteroid[i].asteroidRectangle.X = asteroidPos.Next(Window.ClientBounds.Width - 60);
         asteroid[i].asteroidRectangle.Y = asteroidPos.Next(-800, -57);
      }
  }
  </code></pre>
  
  <p>when i add this line of code inside the forloop with missile.count</p>
  
  <pre><code>foreach (AsteroidClass ac in asteroid)
  {
      if (ac.getAsteroidRectangle().Intersects(missile[i].getMissileRectangle()))
      {
         missile.Remove(missile[i]);
         ac.asteroidRectangle.X = asteroidPos.Next(Window.ClientBounds.Width - 60);
         ac.asteroidRectangle.Y = asteroidPos.Next(-800, -57);
      }
  }
  </code></pre>
  
  <p>it returns an error when my missle hits an asteroid
  An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll</p>
  
  <p>Additional information: Index was out of range. Must be non-negative and less than the size of the collection.</p>