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); } }
/// <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 }