Пример #1
0
 /// <summary>
 /// Met a jour l'état d'un objet
 /// </summary>
 /// <param name="gameInstance">Instance de la partie</param>
 /// <param name="deltaT">Temps écoulé depuis le dernier appel</param>
 public override void Update(Game gameInstance, double deltaT)
 {
     if (Game.random.Next(0, 100000 - (42 - gameInstance.gameObjects.OfType <Enemy>().Count()) * 1000) < 10)
     {
         Missil missil = new Missil(position + new Vecteur2D(sprite.Draw().Width / 2 - Properties.Resources.shoot1.Width / 2, 0), Teams.Enemy);
         gameInstance.AddNewGameObject(missil);
     }
 }
Пример #2
0
 public void Shoot(Game gamInstance)
 {
     if (this.missile == null || !(this.missile.IsAlive()))
     {
         Missile newMissile = new Missile(positionX + (image.Width / 2), positionY + (image.Height / 2), 3);
         this.missile = newMissile;
         gamInstance.AddNewGameObject(this.missile);
     }
 }
Пример #3
0
        /// <summary>
        /// Tire un missile
        /// </summary>
        /// <param name="gameInstance">L'instance de la partie</param>
        private void fireMissil(Game gameInstance)
        {
            if (remainingTimeBonus > 0 && activeBonus == BonusType.SUPER_MISSIL)
            {
                this.activeMissil = new Missil(position + new Vecteur2D(sprite.Draw().Width / 2 - Properties.Resources.shoot1.Width / 2, 0), Teams.Player, 3);
            }
            else
            {
                this.activeMissil = new Missil(position + new Vecteur2D(sprite.Draw().Width / 2 - Properties.Resources.shoot1.Width / 2, 0), Teams.Player);
            }

            if (remainingTimeBonus > 0 && activeBonus == BonusType.MULTIPLE_SHOT)
            {
                //On ajoute deux autres missiles
                gameInstance.AddNewGameObject(new Missil(position + new Vecteur2D(sprite.Draw().Width / 2 - Properties.Resources.shoot1.Width / 2 - 20f, 0), Teams.Player));
                gameInstance.AddNewGameObject(new Missil(position + new Vecteur2D(sprite.Draw().Width / 2 - Properties.Resources.shoot1.Width / 2 + 20f, 0), Teams.Player));
            }
            System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.laser);
            player.Play();
            gameInstance.AddNewGameObject(this.activeMissil);
        }
Пример #4
0
        /// <summary>
        /// Génère une rangée de bunkers
        /// </summary>
        /// <param name="instance">Instance de la partie</param>
        /// <param name="number">Nombre de bunker a générer</param>
        public static void generateBunkers(Game instance, int number)
        {
            Bitmap    sprite       = Properties.Resources.bunker;
            Bitmap    playerSprite = Properties.Resources.ship1;
            Vecteur2D start        = new Vecteur2D(0, instance.gameSize.Height - (playerSprite.Height * number + 50 + sprite.Height));
            int       offset       = (instance.gameSize.Width - (number * sprite.Width)) / (number + 1);

            start += new Vecteur2D(offset, 0);

            for (int i = 0; i < number; i++)
            {
                instance.AddNewGameObject(new Bunker(new Vecteur2D(start)));
                start += new Vecteur2D(offset + sprite.Width, 0);
            }
        }
Пример #5
0
 /// <summary>
 /// Fonction de tire du vaisseau
 /// </summary>
 /// <param name="gamInstance">Instance du jeu</param>
 public void Shoot(Game gamInstance)
 {
     if (this.missile == null || !(this.missile.IsAlive()))
     {
         Missile newMissile;
         if (Side == Side.Ally)
         {
             newMissile = new Missile((float)(Position.X + (Image.Width / 2)), (float)(Position.Y + (Image.Height / 2)), 10, SpaceInvaders.Properties.Resources.shoot1, Side)
             {
                 upDirection = true
             };
         }
         else
         {
             newMissile = new Missile((float)(Position.X + (Image.Width / 2)), (float)(Position.Y + (Image.Height / 2)), 5, SpaceInvaders.Properties.Resources.shoot2, Side);
         }
         missile = newMissile;
         gamInstance.AddNewGameObject(this.missile);
     }
 }