Beispiel #1
0
 public void CleanTemporaryGameLists()//gameobject lists are cleaned up
 {
     GameDisplay.Children.Clear();
     //lists are updated
     EnemyProjectiles  = EnemyProjectiles.Except(TemporaryEnemyProjectiles).ToList();
     PlayerProjectiles = PlayerProjectiles.Except(TemporaryPlayerProjectiles).ToList();
     Ufos     = Ufos.Except(TemporaryUfos).ToList();
     Walls    = Walls.Except(TemporaryWalls).ToList();
     Invaders = Invaders.Except(TemporaryInvaders).ToList();
     //temporary lists are cleared
     TemporaryWalls.Clear();
     TemporaryPlayerProjectiles.Clear();
     TemporaryInvaders.Clear();
     TemporaryEnemyProjectiles.Clear();
     TemporaryUfos.Clear();
 }
Beispiel #2
0
 private void CheckEnemyProjectileCollision()//discovers collisions between enemy projectiles and other gameobjects
 {
     foreach (EnemyProjectile EnemyProjectile in EnemyProjectiles)
     {
         foreach (Wall wall in Walls)
         {
             if (wall.IsHit(EnemyProjectile.X, EnemyProjectile.Y + 10))
             {
                 TemporaryEnemyProjectiles.Add(EnemyProjectile); //removes enemy projectile
                 TemporaryWalls.Add(wall);                       //removes wall
             }
         }
         if (Player.IsHit(EnemyProjectile.X, EnemyProjectile.Y))
         {
             Player.HealthPoints--;                          //removes one player life
             TemporaryEnemyProjectiles.Add(EnemyProjectile); //removes enemy projectile
         }
         if (EnemyProjectile.Y > GameDisplay.ActualHeight)
         {
             TemporaryEnemyProjectiles.Add(EnemyProjectile);//removes enemy projectile
         }
     }
 }