/// <summary>
        /// This adds a projectile.
        /// </summary>
        /// <param name="positionX">The projectile's X position.</param>
        /// <param name="positionY">The projectile's Y position.</param>
        /// <param name="velocity">The projectile's velocity.</param>
        /// <param name="imageProjectile">The projectile's texture.</param>
        protected void AddProjectile(int positionX, int positionY,
                                     float velocity, Texture2D imageProjectile, int damage)
        {
            ProjectileSprite projectile = new ProjectileSprite(game,
                                                               imageProjectile, positionX - imageProjectile.Width / 2,
                                                               positionY - imageProjectile.Height, velocity, damage);

            projectile.Initialize();
            projectiles.Add(projectile);
        }
Beispiel #2
0
 /// <summary>
 /// This is called when the player is hit by a projectile.
 /// (The player parameter could be used if in the future a multiplayer
 /// level is added.)
 /// </summary>
 /// <param name="player">The player</param>
 /// <param name="projectile">The projectile</param>
 private void onPlayerHit(DrawableGameComponent player,
                          ProjectileSprite projectile)
 {
     health = health - projectile.Damage;
     if (health <= 0)
     {
         if (GameOver != null)
         {
             GameOver();
         }
     }
 }
Beispiel #3
0
 /// <summary>
 /// Adds to the score when an opponent dies.
 /// </summary>
 /// <param name="alien"></param>
 /// <param name="projectile"></param>
 private void onAlienHit(DrawableGameComponent component,
                         ProjectileSprite projectile)
 {
     if (component is AlienSprite)
     {
         score += (ulong)(component as AlienSprite).Point;
     }
     else if (component is MotherShipSprite)
     {
         score += (ulong)(component as MotherShipSprite).Point;
     }
 }
 /// <summary>
 /// This removes a projectile that has hit something.
 /// </summary>
 /// <param name="component">The component it has hit.</param>
 /// <param name="projectile">The projectile.</param>
 protected void projectileHit(ProjectileSprite projectile)
 {
     projectiles.Remove(projectile);
     projectile.Dispose();
 }
 /// <summary>
 /// This adds a projectile.
 /// </summary>
 /// <param name="positionX">The projectile's X position.</param>
 /// <param name="positionY">The projectile's Y position.</param>
 /// <param name="velocity">The projectile's velocity.</param>
 /// <param name="imageProjectile">The projectile's texture.</param>
 protected void AddProjectile(int positionX, int positionY,
     float velocity, Texture2D imageProjectile, int damage)
 {
     ProjectileSprite projectile = new ProjectileSprite(game,
             imageProjectile, positionX - imageProjectile.Width / 2,
             positionY - imageProjectile.Height, velocity, damage);
         projectile.Initialize();
         projectiles.Add(projectile);
 }
 /// <summary>
 /// This method is called when the ship gets hit by a player's projectile.
 /// </summary>
 /// <param name="ship">The ship that was hit.</param>
 /// <param name="projectile">The projectile that hit.</param>
 private void onShipHit(DrawableGameComponent ship, ProjectileSprite projectile)
 {
     (ship as MotherShipSprite).Alive = false;
 }
 /// <summary>
 /// This removes a projectile that has hit something.
 /// </summary>
 /// <param name="component">The component it has hit.</param>
 /// <param name="projectile">The projectile.</param>
 protected void projectileHit(ProjectileSprite projectile)
 {
     projectiles.Remove(projectile);
     projectile.Dispose();
 }
Beispiel #8
0
 /// <summary>
 /// This method kills an alien that was hit.
 /// </summary>
 /// <param name="alien">The alien that was hit.</param>
 /// <param name="projectile">The projectile that hit the alien.</param>
 private void onAlienHit(DrawableGameComponent alien,
                         ProjectileSprite projectile)
 {
     (alien as AlienSprite).Alive = false;
     incrementAlienSpeed();
 }
 /// <summary>
 /// launches a laser
 /// </summary>
 /// <param name="player">collision rectangle of the player</param>
 /// <param name="game1">The game</param>
 public override void Launch(Rectangle player, GameTime game1)
 {
     Vector2 start = new Vector2((player.X) +(player.Width /2), (player.Y) - 2);
     ProjectileSprite bullet = new ProjectileSprite(game, start, imageBullet, velocity, score);
     bullet.Initialize();
     bullets.Add(bullet);
     game.Components.Add(bullet);
 }
 /// <summary>
 /// This method is called when the ship gets hit by a player's projectile.
 /// </summary>
 /// <param name="ship">The ship that was hit.</param>
 /// <param name="projectile">The projectile that hit.</param>
 private void onShipHit(DrawableGameComponent ship, ProjectileSprite projectile)
 {
     (ship as MotherShipSprite).Alive = false;
 }
Beispiel #11
0
 /// <summary>
 /// This is called when the player is hit by a projectile.
 /// (The player parameter could be used if in the future a multiplayer
 /// level is added.)
 /// </summary>
 /// <param name="player">The player</param>
 /// <param name="projectile">The projectile</param>
 private void onPlayerHit(DrawableGameComponent player, 
     ProjectileSprite projectile)
 {
     health = health - projectile.Damage;
     if (health <= 0)
         if (GameOver != null)
         {
             GameOver();
         }
 }
Beispiel #12
0
 /// <summary>
 /// Adds to the score when an opponent dies.
 /// </summary>
 /// <param name="alien"></param>
 /// <param name="projectile"></param>
 private void onAlienHit(DrawableGameComponent component,
                         ProjectileSprite projectile)
 {
     if (component is AlienSprite)
         score += (ulong)(component as AlienSprite).Point;
     else if (component is MotherShipSprite)
         score += (ulong) (component as MotherShipSprite).Point;
 }
 /// <summary>
 /// launches a laser
 /// </summary>
 /// <param name="player">collision rectangle of the alien</param>
 /// <param name="game1">The game</param>
 public override void Launch(Rectangle alien, GameTime game1)
 {
     Vector2 start = new Vector2((alien.X), (alien.Y));
     ProjectileSprite bullet = new ProjectileSprite(game, start, imageBullet, velocity, score);
     bullet.Initialize();
     bullets.Add(bullet);
     game.Components.Add(bullet);
 }
Beispiel #14
0
 /// <summary>
 /// This method kills an alien that was hit.
 /// </summary>
 /// <param name="alien">The alien that was hit.</param>
 /// <param name="projectile">The projectile that hit the alien.</param>
 private void onAlienHit(DrawableGameComponent alien,
     ProjectileSprite projectile)
 {
     (alien as AlienSprite).Alive = false;
     incrementAlienSpeed();
 }