//make the player
        private void Player()
        {
            int width  = this.ClientSize.Width;
            int height = this.ClientSize.Height;

            player = new ActiveSprite(width / 2 - 30, height - height / 96, Image.FromFile("images\\Ship.png"), 60, 32, 0, 0);
        }
        //spawn the aliens
        private void Aliens()
        {
            int          width     = this.ClientSize.Width;
            int          height    = this.ClientSize.Height;
            int          numAliens = 0;
            int          row       = 1;
            float        alienX    = width / 192;
            float        alienY    = height / 108;
            ActiveSprite alien;

            while (numAliens < 11 && row <= 5)
            {
                if (row == 1)
                {
                    alien = new ActiveSprite(alienX, alienY, Image.FromFile("images\\InvaderC" + one + ".png"), 48, 32, 3, 0);
                }
                else if (row == 2 || row == 3)
                {
                    alien = new ActiveSprite(alienX, alienY, Image.FromFile("images\\InvaderB" + one + ".png"), 48, 32, 3, 0);
                }
                else if (row == 4 || row == 5)
                {
                    alien = new ActiveSprite(alienX, alienY, Image.FromFile("images\\InvaderA" + one + ".png"), 48, 32, 3, 0);
                }
                else
                {
                    alien = new ActiveSprite(alienX, alienY, Image.FromFile("images\\InvaderC1.png"), 48, 32, 0, 0);
                }

                aliens.Add(alien);

                alienX += width / 192 + 48;
                numAliens++;

                if (numAliens >= 11)
                {
                    alienY += 32 + height / 108;
                    alienX  = width / 192;
                    row++;
                    numAliens = 0;
                }
            }
        }
 private void T_Tick(object sender, EventArgs e)
 {
     counter++;
     this.Refresh();
     if (aliens.Count == 0)
     {
         won = true;
     }
     for (int i = 0; i < bullets.Count; i++)
     {
         //remove off screen bullets
         if (bullets.ElementAt(i).Y + bullets.ElementAt(i).Height < 0)
         {
             bullets.Remove(bullets.ElementAt(i));
             continue;
         }
         //remove shot aliens
         for (int j = 0; j < aliens.Count; j++)
         {
             if (aliens.ElementAt(j).Contains(bullets.ElementAt(i).X, bullets.ElementAt(i).Y))
             {
                 aliens.Remove(aliens.ElementAt(j));
                 bullets.ElementAt(i).Y = -bullets.ElementAt(i).Height;
                 continue;
             }
         }
     }
     for (int i = 0; i < aliens.Count; i++)
     {
         //let the aliens shoot back
         if (rand.NextDouble() > 0.999)
         {
             ActiveSprite alienBullet = new ActiveSprite(aliens.ElementAt(i).X + 21, aliens.ElementAt(i).Y - aliens.ElementAt(i).Height - 17, Image.FromFile("images\\bullet.png"), 6, 17, 0, 15);
             alienBullets.Add(alienBullet);
         }
     }
     //clear the alien shots
     for (int i = 0; i < alienBullets.Count; i++)
     {
         if (alienBullets.ElementAt(i).Y > ClientSize.Height)
         {
             alienBullets.Remove(alienBullets.ElementAt(i));
             continue;
         }
         if (player.Contains(alienBullets.ElementAt(i).X, alienBullets.ElementAt(i).Y))
         {
             lost = true;
         }
     }
     //check the blocks for shots
     for (int i = 0; i < blocks.Count; i++)
     {
         for (int j = 0; j < bullets.Count(); j++)
         {
             if (blocks.ElementAt(i).Contains(bullets.ElementAt(j).X, bullets.ElementAt(j).X))
             {
                 bullets.ElementAt(i).Y = -bullets.ElementAt(i).Height;
                 continue;
             }
         }
         for (int j = 0; j < alienBullets.Count; j++)
         {
             if (blocks.ElementAt(i).Contains(alienBullets.ElementAt(j).X, alienBullets.ElementAt(j).Y))
             {
                 alienBullets.Remove(alienBullets.ElementAt(j));
                 continue;
             }
         }
     }
     //change alien skins
     if (counter % 33 == 0)
     {
         for (int i = 0; i < aliens.Count; i++)
         {
             if (counter % 2 == 1 && i < 55)
             {
                 aliens.ElementAt(i).Image = Image.FromFile("images\\InvaderA" + two + ".png");
             }
             if (counter % 2 == 0 && i < 55)
             {
                 aliens.ElementAt(i).Image = Image.FromFile("images\\InvaderA" + one + ".png");
             }
             if (counter % 2 == 1 && i < 33)
             {
                 aliens.ElementAt(i).Image = Image.FromFile("images\\InvaderB" + two + ".png");
             }
             if (counter % 2 == 0 && i < 33)
             {
                 aliens.ElementAt(i).Image = Image.FromFile("images\\InvaderB" + one + ".png");
             }
             if (counter % 2 == 1 && i < 11)
             {
                 aliens.ElementAt(i).Image = Image.FromFile("images\\InvaderC" + two + ".png");
             }
             if (counter % 2 == 0 && i < 11)
             {
                 aliens.ElementAt(i).Image = Image.FromFile("images\\InvaderC" + one + ".png");
             }
         }
     }
 }
        //let the player fight
        private void Engine_PlayerShoot(object sender, MouseEventArgs e)
        {
            ActiveSprite bullet = new ActiveSprite(player.X + 27, player.Y - 17, Image.FromFile("images\\bullet.png"), 6, 17, 0, -15);

            bullets.Add(bullet);
        }