Esempio n. 1
0
 /// <summary>
 /// Appelée à chaque fois que la balle entre en collision avec le sol
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BalleMissed_Event(object sender, BalleMissedEventArgs e)
 {
     if (_playerInformations.Live == 0)  // Niveau terminé, plus de vie
     {
         canPlay = false;
     }
     else
     {
         _playerInformations.Live -= 1;
         _balle.Initialize();
         _balle.Moving = false;
     }
 }
Esempio n. 2
0
        public void Initialize()
        {
            _playerInformations = new PlayerInformation("Joueur 1");
            _levelHUD           = new LevelHUD(this, _playerInformations);
            _palet              = new Palet(this);
            _balle              = new Balle(this);
            _balle.balleMissed += this.BalleMissed_Event;
            _bricksManager      = new BricksManager(this);

            removeSpriteIndex = -1;
            canPlay           = true;
            retry             = false;

            allSprites.Clear();

            _levelHUD.Initialize();
            _palet.Initialize();
            _balle.Initialize();
            _bricksManager.Initialize();

            // Le palet est en première position dans la collection
            // La balle à la deuxième position, cela permet de ne pas itérer toute la collection
            // pour trouver une collision
            allSprites.Insert(0, _palet);
            allSprites.Insert(1, _balle);

            foreach (Brick b in _bricksManager.ListBricks)
            {
                b.brickDestroyed += this.BrickAsDestroyed_Event;
                allSprites.Add(b);
            }

            foreach (Sprite s in allSprites)
            {
                s.Scale = spriteScale;
            }
        }