Ejemplo n.º 1
0
        public override void Initialize()
        {
            this.briques = new List <Brique>();
            for (int i = 0; i < this.nbBriques; i++)
            {
                Brique brique = new Brique(base.Game, "Textures/wall");
                briques.Add(brique);
                this.Game.Components.Add(brique);
            }


            for (int i = 0; i < this.nbBriqueVitesse; i++)
            {
                BriqueDeVitesse brique = new BriqueDeVitesse(base.Game, "Textures/wall");
                briques.Add(brique);
                this.Game.Components.Add(brique);
            }
        }
Ejemplo n.º 2
0
        private void GenerateBrickWall()
        {
            int xpos, ypos;
            int color = 1, score = 40;

            Texture2D texture = _briqueTextures[(int)BriqueColor.Black];
            Vector2   size    = new Vector2(_briqueScale * texture.Width, _briqueScale * texture.Height); // == Vector2(sizeX, scale * texture.Height)

            for (int x = 0; x < NB_LIGNE_BRIQUE; x++)
            {
                ypos = (int)(OFFSET + x * size.Y);
                for (int y = 0; y < NB_COLONNE_BRIQUE; y++)
                {
                    xpos = (int)(OFFSET + y * size.X);

                    _briques[x, y] = new Brique(new Vector2(xpos, ypos), size, color, score);
                }
                color += 1;
                score -= 10;
            }
        }
Ejemplo n.º 3
0
        public override void Initialize()
        {
            Position = new Vector2(_Viewport.X, _Viewport.Y);

            Briques = new List<Brique>();

            //if (Niveau == 1)
            //{
            //    int EspacementHorizontal = 78;
            //    int EspacementVertical = 52;

            //    int InvertLigneToVie = 3;

            //    for (int Ligne = 0; Ligne < 3; Ligne++)
            //    {
            //        for (int Colonne = 0; Colonne < 5; Colonne++)
            //        {
            //            Brique UneBrique = new Brique((BriqueLevel)(InvertLigneToVie - Ligne), _screenHeight, _screenWidth);

            //            UneBrique.Initialize();

            //            UneBrique.PositionX += (Colonne * EspacementHorizontal);

            //            UneBrique.PositionY += (Ligne * EspacementVertical);

            //            Briques.Add(UneBrique);

            //            UneBrique.indexOf = Briques.IndexOf(UneBrique);
            //        }
            //    }
            //}

            if (Niveau == 1)
            {
                int EspacementHorizontal = 60;
                int EspacementVertical = 52;

                int FirstBriquePositionX = 40;
                int FirstBriquePositionY = 100;

                int InvertLigneToVie = 3;

                for (int Ligne = 0; Ligne < 5; Ligne++)
                {
                    for (int Colonne = 0; Colonne < 7; Colonne++)
                    {
                        Brique UneBrique;

                        if (Ligne < 3)
                        {
                            UneBrique = new Brique((BriqueLevel)(InvertLigneToVie - Ligne), _Viewport.Height, _Viewport.Width);
                        }
                        else
                        {
                            UneBrique = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);
                        }

                        UneBrique.PositionX = FirstBriquePositionX;
                        UneBrique.PositionY = FirstBriquePositionY;

                        UneBrique.PositionX += (Colonne * EspacementHorizontal);

                        UneBrique.PositionY += (Ligne * EspacementVertical);

                        Briques.Add(UneBrique);
                    }
                }
            }

            if (Niveau == 2)
            {
                int EspacementHorizontal = 60;
                int EspacementVertical = 24;

                int FirstBriquePositionX = 40;
                int FirstBriquePositionY = 50;

                for (int Ligne = 0; Ligne < 12; Ligne++)
                {
                    for (int Colonne = 0; Colonne < 7; Colonne++)
                    {
                        if (Ligne > 0 && Ligne < 11 && (Colonne == 0 || Colonne == 6))
                        {
                            Brique UneBrique = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                            UneBrique.PositionX = FirstBriquePositionX;
                            UneBrique.PositionY = FirstBriquePositionY;

                            UneBrique.PositionX += (Colonne * EspacementHorizontal);

                            UneBrique.PositionY += (Ligne * EspacementVertical);

                            Briques.Add(UneBrique);
                        }
                        else if (Ligne == 0 || (Ligne == 11 && Colonne != 3))
                        {
                            Brique UneBrique = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                            UneBrique.PositionX = FirstBriquePositionX;
                            UneBrique.PositionY = FirstBriquePositionY;

                            UneBrique.PositionX += (Colonne * EspacementHorizontal);

                            UneBrique.PositionY += (Ligne * EspacementVertical);

                            Briques.Add(UneBrique);
                        }
                        else if(Ligne > 0 && Ligne < 11 && (Colonne == 2 || Colonne == 4) && Ligne != 5 && Ligne != 6)
                        {
                            Brique UneBrique = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                            UneBrique.PositionX = FirstBriquePositionX;
                            UneBrique.PositionY = FirstBriquePositionY;

                            UneBrique.PositionX += (Colonne * EspacementHorizontal);

                            UneBrique.PositionY += (Ligne * EspacementVertical);

                            Briques.Add(UneBrique);
                        }
                    }
                }
            }

            if (Niveau == 3)
            {
                int EspacementHorizontal = 60;

                int FirstBriquePositionX = 11;
                int FirstBriquePositionY = 310;

                for (int Colonne = 0; Colonne < 8; Colonne++)
                {
                    if (Colonne < 3 || Colonne > 4)
                    {
                        Brique UneBrique = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                        UneBrique.PositionX = FirstBriquePositionX;
                        UneBrique.PositionY = FirstBriquePositionY;

                        UneBrique.PositionX += (Colonne * EspacementHorizontal);

                        Briques.Add(UneBrique);
                    }
                }

                Brique bla = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla.Position = new Vector2(FirstBriquePositionX + (3 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 286);

                Briques.Add(bla);

                Brique bla2 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla2.Position = new Vector2(FirstBriquePositionX + (4 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 286);

                Briques.Add(bla2);

                Brique bla3 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla3.Position = new Vector2(FirstBriquePositionX + (3 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 262);

                Briques.Add(bla3);

                Brique bla4 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla4.Position = new Vector2(FirstBriquePositionX + (4 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 262);

                Briques.Add(bla4);

                Brique bla5 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla5.Position = new Vector2(FirstBriquePositionX + (3 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 238);

                Briques.Add(bla5);

                Brique bla6 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla6.Position = new Vector2(FirstBriquePositionX + (3 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 214);

                Briques.Add(bla6);

                Brique bla7 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla7.Position = new Vector2(FirstBriquePositionX + (3 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 190);

                Briques.Add(bla7);

                Brique bla8 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla8.Position = new Vector2(FirstBriquePositionX + (4 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 190);

                Briques.Add(bla8);

                Brique bla9 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla9.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 190);

                Briques.Add(bla9);

                Brique bla10 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla10.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 262);

                Briques.Add(bla10);

                Brique bla11 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla11.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 262);

                Briques.Add(bla11);

                Brique bla12 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla12.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 238);

                Briques.Add(bla12);

                Brique bla13 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla13.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 214);

                Briques.Add(bla13);

                Brique bla14 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla14.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 190);

                Briques.Add(bla14);

                Brique bla15 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla15.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 166);

                Briques.Add(bla15);

                Brique bla16 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla16.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 166);

                Briques.Add(bla16);

                Brique bla17 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla17.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 142);

                Briques.Add(bla17);

                Brique bla18 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla18.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 142);

                Briques.Add(bla18);

                Brique bla19 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla19.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 118);

                Briques.Add(bla19);

                Brique bla20 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla20.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 118);

                Briques.Add(bla20);

                Brique bla21 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla21.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 94);

                Briques.Add(bla21);

                Brique bla22 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla22.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 70);

                Briques.Add(bla22);

                Brique bla23 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla23.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46);

                Briques.Add(bla23);

                Brique bla24 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla24.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46);

                Briques.Add(bla24);

                Brique bla25 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla25.Position = new Vector2(FirstBriquePositionX + (4 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46);

                Briques.Add(bla25);

                Brique bla26 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla26.Position = new Vector2(FirstBriquePositionX + (3 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46);

                Briques.Add(bla26);

                Brique bla27 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla27.Position = new Vector2(FirstBriquePositionX + (2 * EspacementHorizontal) + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46);

                Briques.Add(bla27);

                Brique bla28 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla28.Position = new Vector2(FirstBriquePositionX + EspacementHorizontal + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46);

                Briques.Add(bla28);

                for (int i = 0; i < 10; i++)
                {
                    Brique UneBrique = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                    UneBrique.Position = new Vector2(FirstBriquePositionX + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 46 + (i * 24));

                    Briques.Add(UneBrique);
                }

                for (int i = 0; i < 9; i++)
                {
                    Brique UneBrique = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                    UneBrique.Position = new Vector2(FirstBriquePositionX + EspacementHorizontal + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 70 + (i * 24));

                    Briques.Add(UneBrique);
                }

                for (int i = 0; i < 5; i++)
                {
                    Brique UneBrique = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                    UneBrique.Position = new Vector2(FirstBriquePositionX + 2 * EspacementHorizontal + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 70 + (i * 24));

                    Briques.Add(UneBrique);
                }

                for (int i = 0; i < 5; i++)
                {
                    Brique UneBrique = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                    UneBrique.Position = new Vector2(FirstBriquePositionX + 3 * EspacementHorizontal + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 70 + (i * 24));

                    Briques.Add(UneBrique);
                }

                for (int i = 0; i < 2; i++)
                {
                    Brique UneBrique = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                    UneBrique.Position = new Vector2(FirstBriquePositionX + 4 * EspacementHorizontal + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 70 + (i * 24));

                    Briques.Add(UneBrique);
                }

                Brique bla29 = new Brique(BriqueLevel.Incassable, _Viewport.Height, _Viewport.Width);

                bla29.Position = new Vector2(FirstBriquePositionX + EspacementHorizontal + (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) + 1, 262);

                Briques.Add(bla29);

                Brique test1 = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                test1.Position = new Vector2(FirstBriquePositionX + (4 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 262);

                Briques.Add(test1);

                Brique test2 = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                test2.Position = new Vector2(FirstBriquePositionX + (4 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 286);

                Briques.Add(test2);

                Brique test3 = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                test3.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 214);

                Briques.Add(test3);

                Brique test4 = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                test4.Position = new Vector2(FirstBriquePositionX + (5 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 238);

                Briques.Add(test4);

                Brique test5 = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                test5.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 166);

                Briques.Add(test5);

                Brique test6 = new Brique(BriqueLevel.Pierre, _Viewport.Height, _Viewport.Width);

                test6.Position = new Vector2(FirstBriquePositionX + (6 * EspacementHorizontal) - (Brique.C_DEFAULT_BRIQUE_WIDTH / 2) - 1, 142);

                Briques.Add(test6);
            }
        }
Ejemplo n.º 4
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black); // CornflowerBlue

            spriteBatch.Begin();
            switch (_currentGameState)
            {
            case GameState.MainMenu:
                // Affichage du fond d'écran du menu
                spriteBatch.Draw(_menuBackground, new Rectangle(0, 0, screenWidth, screenHeight), Color.White);

                // Affichage du titre du Jeu
                String  title         = "Casse Brique";
                Vector2 titleSize     = _titleFont.MeasureString(title);
                Vector2 titlePosition = new Vector2(_windowSize.X / 2 - titleSize.X / 2, 20);
                spriteBatch.DrawString(_titleFont, title, titlePosition, Color.White);

                // Affichage des boutons
                spriteBatch.Draw(_play.Texture, _play.Rectangle, _play.Color);
                spriteBatch.Draw(_options.Texture, _options.Rectangle, _options.Color);
                spriteBatch.Draw(_exit.Texture, _exit.Rectangle, _exit.Color);
                break;

            case GameState.Options:
                // Affichage du fond d'écran du menu
                spriteBatch.Draw(_menuBackground, new Rectangle(0, 0, screenWidth, screenHeight), Color.White);

                // Affichage du titre du menu
                String  menuTitle         = "Options";
                Vector2 menuTitleSize     = _titleFont.MeasureString(menuTitle);
                Vector2 menuTitlePosition = new Vector2(_windowSize.X / 2 - menuTitleSize.X / 2, 20);
                spriteBatch.DrawString(_titleFont, menuTitle, menuTitlePosition, Color.White);

                this.DrawString("Appuyez sur \"Echap\" pour revenir au menu", _globalFont, new Vector2(_windowSize.X / 2, _windowSize.Y - 40), Color.Black);
                break;

            case GameState.Playing:
                // Affichage du fond d'écran
                spriteBatch.Draw(_background, _mainFrame, Color.White);

                // On dessine ensuite le score en calculant au préalable la position où le placer.
                Vector2 scoreSize     = _scoreFont.MeasureString("Score : " + _score.ToString());
                Vector2 scorePosition = new Vector2(_windowSize.X - scoreSize.X - 10, _windowSize.Y - _coeurTexture.Height - 10 - scoreSize.Y);
                spriteBatch.DrawString(_scoreFont, "Score : " + _score.ToString(), scorePosition, Color.White);

                // Affichage du mur de briques
                for (int x = 0; x < NB_LIGNE_BRIQUE; x++)
                {
                    for (int y = 0; y < NB_COLONNE_BRIQUE; y++)
                    {
                        Brique brique = _briques[x, y];
                        if (!brique.Touched)
                        {
                            spriteBatch.Draw(_briqueTextures[brique.Color], brique.Position, null, Color.White, 0f, Vector2.Zero, _briqueScale, SpriteEffects.None, 0f);
                        }
                    }
                }

                // Dessin des vies restantes :
                int xCoeur = (int)_windowSize.X - _coeurTexture.Width - 10;
                for (int i = 0; i < _nbBalles; i++)
                {
                    spriteBatch.Draw(_coeurTexture, new Rectangle(xCoeur, (int)_windowSize.Y - _coeurTexture.Height - 10, _coeurTexture.Width, _coeurTexture.Height), Color.White);
                    xCoeur -= 10 + _coeurTexture.Width;
                }

                // Game Over
                if (_nbBalles == 0)
                {
                    this.DrawString("Game Over", _titleFont, new Vector2(_windowSize.X / 2, _windowSize.Y / 2), Color.Red);
                    this.DrawString("Appuyez sur \"Echap\" pour revenir au menu", _globalFont, new Vector2(_windowSize.X / 2, _windowSize.Y / 2 + 50), Color.Black);
                }
                // Partie Gagnée
                else if (_nbBriques == 0)
                {
                    this.DrawString("Niveau terminé", _titleFont, new Vector2(_windowSize.X / 2, _windowSize.Y / 2), Color.Green);
                    this.DrawString("Appuyez sur \"Echap\" pour revenir au menu", _globalFont, new Vector2(_windowSize.X / 2, _windowSize.Y / 2 + 50), Color.Black);
                }
                break;
            }
            spriteBatch.End();

            base.Draw(gameTime);
        }
Ejemplo n.º 5
0
        public override void Update(GameTime gameTime)
        {
            MouseState current_mouse = Mouse.GetState();

            if (current_mouse.LeftButton == ButtonState.Pressed)
            {
                start = true;
            }

            if (!start)
            {
                position.X = (int)raquette.position.X;
                position.Y = (int)raquette.position.Y - texture2D.Height;
            }
            else
            {
                if (position.X < 0 || position.X > 800 - texture2D.Width)
                {
                    changeDirectionX();
                }


                if (position.Y < 0 || position.Y > 600 - texture2D.Height)
                {
                    changeDirectionY();
                }

                if ((raquette.position.X < position.X + texture2D.Width && position.X < raquette.position.X + raquette.texture2D.Width) && ((position.Y + texture2D.Height == raquette.position.Y) && (vitesseY > 0)))
                {
                    changeDirectionY();
                }

                for (int i = 0; i < murDeBriques.nbBriques; i++)
                {
                    Brique b = murDeBriques.briques[i];

                    if (b.position.X < position.X + texture2D.Width && position.X < b.position.X + b.texture2D.Width)
                    {
                        if ((position.Y + texture2D.Height == b.position.Y) && (vitesseY > 0))
                        {
                            changeDirectionY();
                            this.Game.Components.Remove(b);
                            b.position.X = -500;
                            b.position.Y = -500;
                        }

                        if ((position.Y == b.position.Y + b.texture2D.Height) && (vitesseY < 0))
                        {
                            changeDirectionY();
                            this.Game.Components.Remove(b);
                            b.position.X = -500;
                            b.position.Y = -500;
                        }
                    }



                    Rectangle temp = Rectangle.Intersect(get_rectangle(), b.get_rectangle());
                    if (temp.Width > 0)
                    {
                        changeDirectionX();
                        this.Game.Components.Remove(b);
                        b.position.X = -500;
                        b.position.Y = -500;
                    }
                }

                position.X += vitesseX;
                position.Y += vitesseY;
            }
            base.Update(gameTime);
        }
Ejemplo n.º 6
0
        public void Initialize(int screenHeight, Brique BriqueConteneur)
        {
            _screenHeight = screenHeight;

            Speed = 0.2f;

            Direction = new Vector2(0, 1);

            Position = new Vector2((BriqueConteneur.Position.X + (BriqueConteneur.Texture.Width / 2)) - (Texture.Width / 2), (BriqueConteneur.Position.Y + (Texture.Height / 2)) - (Texture.Height / 2));
        }