Ejemplo n.º 1
0
        /// <summary>
        /// On charge nos variables
        /// </summary>
        public void LoadContent()
        {
            this.menuManager.LoadContent();
            this.menuManager.MenuCourant = this.menuManager.TrouverMenu("MainMenu");

            // Créer un nouveau SpriteBatch, utilisée pour dessiner les textures.
            this.spriteBatch = new SpriteBatch(this.graphics.GraphicsDevice);

            // Charger les sprites.
            JoueurSprite.LoadContent(this.GetContent(), this.graphics);
            ArrierePlanEspace.LoadContent(this.GetContent(), this.graphics);
            Obus.LoadContent(this.GetContent(), this.graphics);
            EnnemiShip.LoadContent(this.GetContent(), this.graphics);
            EnnemiSpinner.LoadContent(this.GetContent(), this.graphics);
            PowerUp_Fire_Shot.LoadContent(this.GetContent(), this.graphics);
            PowerUp_Energy_Ball.LoadContent(this.GetContent(), this.graphics);
            PowerUp_One_Projectile.LoadContent(this.GetContent(), this.graphics);
            PowerUp_Three_Projectile.LoadContent(this.GetContent(), this.graphics);
            PowerUp_Two_Projectile.LoadContent(this.GetContent(), this.graphics);

            this.policePetit = this.GetContent().Load <SpriteFont>(@"Pipeline/Polices/PoliceItem");
            this.policeGrand = this.GetContent().Load <SpriteFont>(@"Pipeline/Polices/PoliceTitre");

            // Créer les sprites du jeu. Premièrement le sprite du joueur centrer au bas de l'écran. On limite ensuite
            // ses déplacements à l'écran.
            this.vaisseauJoueur            = new JoueurSprite(this.graphics.GraphicsDevice.Viewport.Width / 8f, this.graphics.GraphicsDevice.Viewport.Height / 2f);
            this.vaisseauJoueur.BoundsRect = new Rectangle(0, 0, this.graphics.GraphicsDevice.Viewport.Width, this.graphics.GraphicsDevice.Viewport.Height);
            this.vaisseauJoueur.ShootObus += Shoot;
            this.vaisseauJoueur.NbVies     = 3;

            this.bruitageRamasser = this.GetContent().Load <SoundEffect>(@"Pipeline\SoundFX\pickup");

            // Créer ensuite les sprites représentant les arrière-plans.
            this.arrierePlanEspace = new ArrierePlanEspace(this.graphics);

            // Charger le bruitage de fond du jeu.
            this.bruitageFond = this.GetContent().Load <Song>(@"Pipeline\Songs\scifi072");

            this.mainmenuImage = this.GetContent().Load <Texture2D>(@"ArrieresPlans\mainmenu.jpg");

            // Charger les textures associées aux effets visuels gérées par Game.
            this.particulesExplosions = this.GetContent().Load <Texture2D>(@"Explosion\explosionAsteroides");
            bruitageExplosion         = this.GetContent().Load <SoundEffect>(@"Pipeline\SoundFX\explosion001");

            // Paramétrer la musique de fond et la démarrer.
            MediaPlayer.Volume      = 0.05f;    // pour mieux entendre les autres effets sonores
            MediaPlayer.IsRepeating = true;
            MediaPlayer.Play(bruitageFond);
            MediaPlayer.Pause();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Mise à jour des ennemis
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected void updateEnnemi(GameTime gameTime)
        {
            // Identifier les ennemis ayant quitté l'écran.
            List <EnnemiSprite> ennemisFini = new List <EnnemiSprite>();

            foreach (EnnemiSprite ennemi in this.listeEnnemis)
            {
                if (this.camera.EstADroite(ennemi.PositionRect))
                {
                    ennemisFini.Add(ennemi);
                }
            }

            // Se débarrasser des ennemis ayant quitté l'écran.
            foreach (EnnemiSprite ennemi in ennemisFini)
            {
                this.listeEnnemis.Remove(ennemi);
            }

            // Mettre à jour les ennemis existants.
            foreach (EnnemiSprite ennemi in this.listeEnnemis)
            {
                ennemi.Update(gameTime, this.graphics);
            }

            // Déterminer si on doit créer un nouvel ennemi.
            if (this.randomEnnemis.NextDouble() < this.probEnnemis)
            {
                Random random = new Random();

                EnnemiSprite ennemi = null;

                if (random.NextDouble() < probEnnemiType)
                {
                    ennemi = new EnnemiSpinner(0, 0);
                }
                else
                {
                    ennemi = new EnnemiShip(0, 0);
                }

                if (ennemi == null)
                {
                    return;
                }

                ennemi.ShootObus        += Shoot;
                ennemi.GetAngleToPlayer += AngleToPlayer;

                // Positionner aléatoirement le sprite au haut de l'écran.
                do
                {
                    ennemi.Position = new Vector2(this.graphics.GraphicsDevice.Viewport.Width + ennemi.Width / 2,
                                                  random.Next(ennemi.Height, this.graphics.GraphicsDevice.Viewport.Height - ennemi.Height));
                } while (EnnemiSpawnError(ennemi));

                // Aligner la vitesse de déplacement de l'ennemi avec celui de l'arrière-plan.
                ennemi.VitesseDeplacement = this.arrierePlanEspace.VitesseArrierePlan;

                // Ajouter le sprite à la liste d'ennemis.
                this.listeEnnemis.Add(ennemi);
            }
        }