/// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            // TODO: Add your drawing code here
            spriteBatch.Begin();

            switch (gameState)
            {
            case GameStates.TitleScreen:
                spriteBatch.Draw(titleScreen, new Rectangle(0, 0, Window.ClientBounds.Width, Window.ClientBounds.Height), Color.White);
                break;

            case GameStates.Playing:
            case GameStates.PlayerDead:
            case GameStates.GameOver:
                starField.Draw(spriteBatch);
                asteroidManager.Draw(spriteBatch);
                break;
            }

            if (gameState == GameStates.GameOver)
            {
            }

            spriteBatch.End();
            base.Draw(gameTime);
        }
示例#2
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            // TODO: Add your drawing code here

            spriteBatch.Begin();

            if (gameState == GameStates.TitleScreen)
            {
                spriteBatch.Draw(titleScreen,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if ((gameState == GameStates.Playing) ||
                (gameState == GameStates.PlayerDead) ||
                (gameState == GameStates.GameOver))
            {
                starField.Draw(spriteBatch);
                asteroidManager.Draw(spriteBatch);
                playerManager.Draw(spriteBatch);
                enemyManager.Draw(spriteBatch);
            }

            if ((gameState == GameStates.GameOver))
            {
            }

            spriteBatch.End();

            base.Draw(gameTime);
        }
示例#3
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            spriteBatch.Begin();

            if (gameState == GameStates.TitleScreen)
            {
                spriteBatch.Draw(titleScreen,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if ((gameState == GameStates.Playing) ||
                (gameState == GameStates.PlayerDead) ||
                (gameState == GameStates.GameOver))
            {
                starField.Draw(spriteBatch);
                asteroidManager.Draw(spriteBatch);
                playerManager.Draw(spriteBatch);
                enemyManager.Draw(spriteBatch);
                explosionManager.Draw(spriteBatch);

                spriteBatch.DrawString(
                    pericles14,
                    "Score: " + playerManager.PlayerScore.ToString(),
                    scoreLocation,
                    Color.White);

                if (playerManager.LivesRemaining >= 0)
                {
                    spriteBatch.DrawString(
                        pericles14,
                        "Ships Remaining: " +
                        playerManager.LivesRemaining.ToString(),
                        livesLocation,
                        Color.White);
                }
            }

            if ((gameState == GameStates.GameOver))
            {
                spriteBatch.DrawString(
                    pericles14,
                    "G A M E  O V E R !",
                    new Vector2(
                        this.Window.ClientBounds.Width / 2 -
                        pericles14.MeasureString("G A M E  O V E R !").X / 2,
                        50),
                    Color.White);
            }


            spriteBatch.End();

            EffectManager.Draw();

            base.Draw(gameTime);
        }
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            spriteBatch.Begin();

            if (gameState == GameStates.TitleScreen)
            {
                spriteBatch.Draw(titleScreen,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if (gameState == GameStates.DifficultySelect)
            {
                spriteBatch.Draw(levelScreen,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if (gameState == GameStates.ccViewer)
            {
                spriteBatch.Draw(ccViewer,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if (gameState == GameStates.CreditsScreen)
            {
                spriteBatch.Draw(credits,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if ((gameState == GameStates.Playing) ||
                (gameState == GameStates.PlayerDead) ||
                (gameState == GameStates.GameOver))
            {
                starField.Draw(spriteBatch);
                planetManager.Draw(spriteBatch);
                asteroidManager.Draw(spriteBatch);
                playerManager.Draw(spriteBatch);
                enemyManager.Draw(spriteBatch);
                explosionManager.Draw(spriteBatch);


                if (difficultyLevel != 9)
                {
                    spriteBatch.DrawString(
                        pericles14,
                        "Score: " + playerManager.PlayerScore.ToString(),
                        scoreLocation,
                        Color.White);
                }
                if (playerManager.LivesRemaining >= 0)
                {
                    spriteBatch.DrawString(
                        pericles14,
                        "Ships Remaining: " +
                        (playerManager.LivesRemaining + 1).ToString(),
                        livesLocation,
                        Color.White);
                }

                if (difficultyLevel == 9)
                {
                    //Added a timer
                    playerTimePlayed +=
                        (float)gameTime.ElapsedGameTime.TotalSeconds;
                    spriteBatch.DrawString(
                        pericles14,
                        "Score: " +
                        ((int)playerTimePlayed * 100).ToString(),
                        timerLocation,
                        Color.White);
                }
            }

            if ((gameState == GameStates.GameOver))
            {
                spriteBatch.DrawString(
                    pericles14,
                    "G A M E  O V E R ! \nY O U  A R E  B A D!",
                    new Vector2(
                        this.Window.ClientBounds.Width / 2 -
                        pericles14.MeasureString("G A M E  O V E R !").X / 2,
                        50),
                    Color.White);
            }


            spriteBatch.End();
            EffectManager.Draw();

            base.Draw(gameTime);
        }
示例#5
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            spriteBatch.Begin();

            if (gameState == GameStates.TitleScreen)
            {
                spriteBatch.Draw(titleScreen,
                                 new Rectangle(0, 0, this.Window.ClientBounds.Width,
                                               this.Window.ClientBounds.Height),
                                 Color.White);
            }

            if ((gameState == GameStates.Playing) ||
                (gameState == GameStates.PlayerDead) ||
                (gameState == GameStates.GameOver) ||
                (gameState == GameStates.LevelUp))
            {
                starField.Draw(spriteBatch);
                planetManager.Draw(spriteBatch);
                asteroidManager.Draw(spriteBatch);

                playerManager.Draw(spriteBatch);
                enemyManager.Draw(spriteBatch);
                explosionManager.Draw(spriteBatch);


                spriteBatch.DrawString(
                    pericles14,
                    "Level: " + playerManager.CurrentLevel.ToString(),
                    levelLocation,
                    Color.White);

                spriteBatch.DrawString(
                    pericles14,
                    "Score: " + playerManager.PlayerScore.ToString(),
                    scoreLocation,
                    Color.White);

                spriteBatch.DrawString(
                    pericles14,
                    "Health: " + playerManager.healthRemaining.ToString(),
                    healthLocation,
                    Color.White);
                if (playerManager.healthRemaining <= 0)
                {
                    playerManager.Destroyed = true;
                }

                if (playerManager.LivesRemaining >= 0)
                {
                    spriteBatch.DrawString(
                        pericles14,
                        "Ships Remaining: " +
                        playerManager.LivesRemaining.ToString(),
                        livesLocation,
                        Color.White);
                }
            }

            if (playerManager.PlayerScore == 20000)
            {
                playerManager.LivesRemaining = +3;
            }

            if ((gameState == GameStates.PlayerDead))
            {
                spriteBatch.DrawString(
                    pericles14,
                    "Y O U   D I E D",
                    new Vector2(
                        this.Window.ClientBounds.Width / 2 -
                        pericles14.MeasureString("Y O U   D I E D").X / 2,
                        50),
                    Color.White);
            }
            if ((gameState == GameStates.GameOver))
            {
                spriteBatch.DrawString(
                    pericles14,
                    "G I T   G U D",
                    new Vector2(
                        this.Window.ClientBounds.Width / 2 -
                        pericles14.MeasureString("G I T   G U D").X / 2,
                        50),
                    Color.White);
            }
            if ((gameState == GameStates.LevelUp))
            {
                spriteBatch.DrawString(
                    pericles14,
                    "L E V E L   U P",
                    new Vector2(
                        this.Window.ClientBounds.Width / 2 -
                        pericles14.MeasureString("L E V E L   U P").X / 2,
                        50),
                    Color.White);
            }
            if ((gameState == GameStates.Win))
            {
                spriteBatch.DrawString(
                    pericles14,
                    "Y O U   W I N",
                    new Vector2(
                        this.Window.ClientBounds.Width / 2 -
                        pericles14.MeasureString("L E V E L   U P").X / 2,
                        50),
                    Color.White);
            }

            spriteBatch.End();

            base.Draw(gameTime);
        }