Ejemplo n.º 1
0
        public static bool CollisionCheck(List <Laser> laserList, List <Rock> rockList, GameSprite ship)
        {
            //Check if lasers have hit rocks. If so, remove both sprites

            for (int i = laserList.Count - 1; i >= 0; i--)
            {
                for (int j = rockList.Count - 1; j >= 0; j--)
                {
                    if (laserList[i].Collision(rockList[j]))
                    {
                        Game1.IncreaseScore();
                        laserList.RemoveAt(i);
                        rockList.RemoveAt(j);
                        break;
                    }
                }
            }

            //Check if rocks hit each other.If so, bounce rocks
            for (int i = rockList.Count - 1; i >= 0; i--)
            {
                for (int j = i - 1; j >= 0; j--)
                {
                    if (rockList[i].Collision(rockList[j]))
                    {
                        Bounce(rockList[i], rockList[j]);
                        break;
                    }
                }
            }

            //Check if a rock has hit our ship. If so, a fatal collision has taken place
            foreach (Rock r in rockList)
            {
                if (ship.Collision(r))
                {
                    //return true;
                }
            }

            return(false);
        }