public virtual void Draw(SpriteBatch spriteBatch, GameObjectPlayer heros, GameTime gameTime, Texture2D key, int herokey)
 {
     spriteBatch.Draw(picture, new Rectangle(Settings.SCREEN_WIDTH_TILES / 20, Settings.SCREEN_HEIGHT_TILES - GameObjectTile.HAUTEUR_STATS_ZONE + ((GameObjectTile.HAUTEUR_STATS_ZONE - 300) / 2), 300, 300), picFace, Color.White);
     spriteBatch.DrawString(texteStats, "Vie : " + heros.vie, new Vector2(Settings.SCREEN_WIDTH_TILES / 4, Settings.SCREEN_HEIGHT_TILES - GameObjectTile.HAUTEUR_STATS_ZONE / 2 - 100), Color.White);
     spriteBatch.DrawString(texteStats, "Temps : " + heros.tempsNiveau, new Vector2(Settings.SCREEN_WIDTH_TILES / 4, Settings.SCREEN_HEIGHT_TILES - GameObjectTile.HAUTEUR_STATS_ZONE / 2 + 30), Color.White);
     spriteBatch.DrawString(texteStats, "Record : " + heros.tempsRecord, new Vector2(Settings.SCREEN_WIDTH_TILES / 1.7f, Settings.SCREEN_HEIGHT_TILES - GameObjectTile.HAUTEUR_STATS_ZONE / 2 - 100), Color.White);
     spriteBatch.DrawString(texteStats, "Nombre essaie : " + heros.nombreEssaie, new Vector2(Settings.SCREEN_WIDTH_TILES / 1.7f, Settings.SCREEN_HEIGHT_TILES - GameObjectTile.HAUTEUR_STATS_ZONE / 2 + 30), Color.White);
     if (herokey > 0)
     {
         spriteBatch.Draw(key, new Rectangle(10, 10, 128, 128), Color.White);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here
            fenetre        = graphics.GraphicsDevice.Viewport.Bounds;
            fenetre.Width  = Settings.SCREEN_WIDTH_TILES;
            fenetre.Height = Settings.SCREEN_HEIGHT_TILES;

            debugFont = Content.Load <SpriteFont>("DebugFont");
            test      = Content.Load <Texture2D>("TileSet.png");

            fond              = new GameObjectTile();
            fond.texture      = Content.Load <Texture2D>("TileSet.png");
            fond.texturePorte = Content.Load <Texture2D>("door.png");
            fond.GenerateTiles();

            statsInterface.picture    = Content.Load <Texture2D>("Bomberman.png");
            statsInterface.texteStats = Content.Load <SpriteFont>("TexteInterface");

            #region GÉNÉRATION DU HÉROS
            heros                = new GameObjectPlayer();
            heros.estVivant      = true;
            heros.toucheFin      = false;
            heros.tempsNiveau    = 0f;
            heros.tempsRecord    = 9999;
            heros.vie            = 100;
            heros.nombreEssaie   = 1;
            heros.itemKey        = 0;
            heros.vitesse        = new Vector2(5, 5);
            heros.direction      = Vector2.Zero;
            heros.objetState     = GameObjectPlayer.etats.attenteDroite;
            heros.position       = new Rectangle(128, 126, 120, 128); //Position initiale de Bomberman
            heros.collider       = new Rectangle(heros.position.X + 2, heros.position.Y + 58, 116, 70);
            heros.lastPosition.X = heros.position.X;
            heros.lastPosition.Y = heros.position.Y;
            heros.sprite         = Content.Load <Texture2D>("Bomberman.png");
            #endregion

            //GÉNÉRER LES BOITES DE COLLISION DE CHAQUE CASE

            #region Generate Tuiles
            for (int ligne = 0; ligne < fond.map.GetLength(0); ligne++)
            {
                for (int colonne = 0; colonne < fond.map.GetLength(1); colonne++)
                {
                    switch (fond.map[ligne, colonne])//1 = pierre, 2 = roche, 3 = gazon, 4 = fin, 5 = zone mortel
                    {
                    case 1:
                        tuile[colonne, ligne]        = new Rectangle();
                        tuile[colonne, ligne].X      = colonne * GameObjectTile.LARGEUR_TUILE;
                        tuile[colonne, ligne].Y      = ligne * GameObjectTile.HAUTEUR_TUILE;
                        tuile[colonne, ligne].Width  = GameObjectTile.LARGEUR_TUILE;
                        tuile[colonne, ligne].Height = GameObjectTile.HAUTEUR_TUILE;
                        break;

                    case 2:
                        tuileDestroy[colonne, ligne]        = new Rectangle();
                        tuileDestroy[colonne, ligne].X      = colonne * GameObjectTile.LARGEUR_TUILE;
                        tuileDestroy[colonne, ligne].Y      = ligne * GameObjectTile.HAUTEUR_TUILE;
                        tuileDestroy[colonne, ligne].Width  = GameObjectTile.LARGEUR_TUILE;
                        tuileDestroy[colonne, ligne].Height = GameObjectTile.HAUTEUR_TUILE;
                        break;

                    case 3:
                        break;

                    case 4:
                        tuileEnd        = new Rectangle();
                        tuileEnd.X      = colonne * GameObjectTile.LARGEUR_TUILE;
                        tuileEnd.Y      = ligne * GameObjectTile.HAUTEUR_TUILE;
                        tuileEnd.Width  = GameObjectTile.LARGEUR_TUILE;
                        tuileEnd.Height = GameObjectTile.HAUTEUR_TUILE;
                        break;

                    case 5:
                        tuileDanger[colonne, ligne]        = new Rectangle();
                        tuileDanger[colonne, ligne].X      = colonne * GameObjectTile.LARGEUR_TUILE;
                        tuileDanger[colonne, ligne].Y      = ligne * GameObjectTile.HAUTEUR_TUILE;
                        tuileDanger[colonne, ligne].Width  = GameObjectTile.LARGEUR_TUILE;
                        tuileDanger[colonne, ligne].Height = GameObjectTile.HAUTEUR_TUILE;
                        break;

                    case 6:
                        tuilePorte[colonne, ligne]        = new Rectangle();
                        tuilePorte[colonne, ligne].X      = colonne * GameObjectTile.LARGEUR_TUILE;
                        tuilePorte[colonne, ligne].Y      = ligne * GameObjectTile.HAUTEUR_TUILE;
                        tuilePorte[colonne, ligne].Width  = GameObjectTile.LARGEUR_TUILE;
                        tuilePorte[colonne, ligne].Height = GameObjectTile.HAUTEUR_TUILE;
                        break;

                    default:
                        break;
                    }
                }
            }
            #endregion

            #region GÉNÉRATION DES SONS
            listSounds = new Audio();
            Audio.LoadSounds(Content);
            Song sounds = Audio.Song["Fast_Lane"];
            MediaPlayer.Volume = 0.1f;
            MediaPlayer.Play(sounds);
            #endregion

            #region GÉNÉRATION DES ITEMS
            key                  = new Items();
            key.sprite           = Content.Load <Texture2D>("KeyItem.png");
            key.collision.Width  = GameObjectTile.LARGEUR_TUILE;
            key.collision.Height = GameObjectTile.HAUTEUR_TUILE;
            key.collision.X      = 13 * GameObjectTile.LARGEUR_TUILE;
            key.collision.Y      = 3 * GameObjectTile.HAUTEUR_TUILE;
            key.isPickUp         = false;
            #endregion
        }