Exemplo n.º 1
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            spriteBatch.Begin();

            // Draw game objects

            gameBorder.Draw();
            paddle.Draw();
            wall.Draw();

            if (ball.Visible)
            {
                bool inPlay = ball.Move(wall, paddle);
                if (inPlay)
                {
                    ball.Draw();
                }
                else
                {
                    ballsRemaining--;
                    readyToServeBall = true;
                }
            }

            // Draw Lives and Score

            staticBall.Draw();

            string  scoreMessage = "Score: " + ball.Score.ToString("00000");
            Vector2 space        = gameContent.labelFont.MeasureString(scoreMessage);

            spriteBatch.DrawString(gameContent.labelFont, scoreMessage,
                                   new Vector2((screenWidth - space.X) / 2, screenHeight - 40), Color.White);

            if (ball.bricksCleared >= 70)
            {
                ball.Visible       = false;
                ball.bricksCleared = 0;
                wall             = new Wall(1, 50, spriteBatch, gameContent);
                readyToServeBall = true;
            }

            if (readyToServeBall)
            {
                if (ballsRemaining > 0)
                {
                    string  startMessage = "Press <Space> or Click Mouse to Start";
                    Vector2 startSpace   = gameContent.labelFont.MeasureString(startMessage);
                    spriteBatch.DrawString(gameContent.labelFont, startMessage,
                                           new Vector2((screenWidth - startSpace.X) / 2, screenHeight / 2), Color.White);
                }
                else
                {
                    string  endMessage = "Game Over";
                    Vector2 endSpace   = gameContent.labelFont.MeasureString(endMessage);
                    spriteBatch.DrawString(gameContent.labelFont, endMessage,
                                           new Vector2((screenWidth - endSpace.X) / 2, screenHeight / 2), Color.White);
                }
            }

            spriteBatch.DrawString(gameContent.labelFont, ballsRemaining.ToString(),
                                   new Vector2(40, 10), Color.White);

            spriteBatch.End();

            base.Draw(gameTime);
        }