public GamePlayScene(Game game, GameOverScene scene) : base(game)
        {
            this.game            = game;
            this.maxBricks       = bricks.GetLength(0) * bricks.GetLength(1);
            this.spriteBatch     = (SpriteBatch)game.Services.GetService(typeof(SpriteBatch));
            this.myFont          = (SpriteFont)game.Services.GetService(typeof(SpriteFont));
            this.myFont          = game.Content.Load <SpriteFont>("Master");
            this.heartlife       = game.Content.Load <Texture2D>("heart_life");
            this.barSprite       = new BarSprite(game);
            this.ballSprite      = new BallSprite(game, this);
            this.explosionSprite = new ExplosionSprite(game, new Vector2(10, 10), false);
            this.scene           = scene;

            SceneComponents.Add(barSprite);
            SceneComponents.Add(ballSprite);
            SceneComponents.Add(explosionSprite);

            int x = 0, y = 40;

            for (int i = 0; i < bricks.GetLength(0); i++)
            {
                for (int j = 0; j < bricks.GetLength(1); j++)
                {
                    int randomNumber = random.Next(0, 4);
                    bricks[i, j] = new BrickSprite(this.game, this.ballSprite, this.explosionSprite, new Vector2(x, y), this, brickNames[randomNumber]);
                    x           += 80;
                    SceneComponents.Add(bricks[i, j]);
                }
                x  = 0;
                y += 27;
            }
        }
Example #2
0
 /// <inheritdoc />
 internal override double GetLifePointsCost(DamageableSprite sprite)
 {
     return(IsExploding && ExplosionSprite.Overlap(sprite) ? sprite.ExplosionLifePointCost : 0);
 }