Beispiel #1
0
        public int startLevel(int maxLevel, Balle balle, Raquette raquette)
        {
            // On verifie si toutes les briques sont désactives
            List <Brique> briques_old = new List <Brique>();

            foreach (var brique in briques)
            {
                if (brique.active)
                {
                    briques_old.Add(brique);
                }
            }
            briques.Clear();
            briques = briques_old;

            // Si le nombre de brique est 0
            if (briques.Count == 0)
            {
                level++;
                raquette.reset();
                balle.reset();

                if (level > maxLevel)
                {
                    return(level);
                }

                int[,] level_position = getLevel("levels/" + level + ".txt");

                for (int x = 0; x < width; x++)
                {
                    for (int y = 0; y < height; y++)
                    {
                        if (level_position[x, y] == 1)
                        {
                            Brique brique = new Brique(base.Game, "brique", new Vector2(x * 70 + 9 * x + 13, y * 15 + 8 * y + 8));
                            briques.Add(brique);
                            this.Game.Components.Add(brique);
                        }
                        else if (level_position[x, y] == 2)
                        {
                            BriqueVitesse brique = new BriqueVitesse(base.Game, "briqueVitesse", new Vector2(x * 70 + 9 * x + 13, y * 15 + 8 * y + 8));
                            briques.Add(brique);
                            this.Game.Components.Add(brique);
                        }
                    }
                }
                if (level > 1 && level <= maxLevel)
                {
                    _ballBouncePartie.Play();
                }
            }

            return(level);
        }
        public bool perte()
        {
            // Si la balle touche le fond de l'écran
            if (position.Y > _screenHeight - texture2D.Height && direction.Y > 0)
            {
                float old_speed = speed;
                _ballBounceLife.Play();
                reset();
                speed = old_speed;
                raquette.reset();
                return(true);
            }

            return(false);
        }