예제 #1
0
 void DrawGameOver()
 {
     spriteBatch.DrawStringCentered(font, "Total", 40, Color.White, 1.2f);
     spriteBatch.DrawStringCentered(font, "Pong", 70, Color.White, 1.2f);
     spriteBatch.DrawStringCentered(font, "Game Over", 140, Color.White, 0.8f);
     spriteBatch.DrawStringCentered(font, game.CreditText, 180, Color.White, 0.6f);
 }
        void DrawEndOfWave()
        {
            float scale = 0.5f;
            Color color = new Color(100, 255, 100, 255);

            int y = game.HUDHeight + 40;

            spriteBatch.DrawStringCentered(font, "Attack Wave " + game.Wave.ToString(), y, color, scale);
            y += 24;
            spriteBatch.DrawStringCentered(font, "Completed", y, color, scale);
            y += 40;
            int points = game.Wave < 5 ? game.Wave * 100 : 500;

            spriteBatch.DrawStringCentered(font, "Bonus X " + points.ToString(), y, color, scale);
            y += 40;
            int x = 100;

            for (int i = 0; i < 10; i++)
            {
                if (game.Entities[i].Type == EntityType.Humaniod)
                {
                    DrawAnimatedSprite(new Vector2(x, y), EntityType.Humaniod, 0, 1.5f);
                    x += 18;
                }
            }
        }
        void DrawPlay()
        {
            //draw paddle
            spriteBatch.Draw(brickBreaker.texturePack.GetTexureForItem(Item.DiamondPickaxe), brickBreaker.Paddle.Rectangle, brickBreaker.texturePack.ItemSrcRect(Item.DiamondPickaxe), Color.White);
            //spriteBatch.Draw(CoreGlobals.BlankTexture, new Rectangle((int)brickBreaker.Paddle.CenterPos.X, (int)brickBreaker.Paddle.CenterPos.Y - brickBreaker.Paddle.HalfHeight / 2, 1, 1), Color.Red);
            //draw balls
            for (int i = 0; i < brickBreaker.Balls.Count; i++)
            {
                spriteBatch.Draw(SpriteSheet, brickBreaker.Balls[i].Rectangle, ballSprite, brickBreaker.Balls[i].Color);
                //  spriteBatch.Draw(CoreGlobals.BlankTexture, new Rectangle((int)brickBreaker.Balls[i].CenterPos.X, (int)brickBreaker.Balls[i].CenterPos.Y, 1, 1), Color.Red);
            }

            if (brickBreaker.useRandomLayout)
            {
                DrawBricksWithTexture();
            }
            else
            {
                DrawBricksNonTextured();
            }

            DrawPowerUps();
            DrawBullets();

            if (brickBreaker.messageToPlayer != string.Empty)
            {
                spriteBatch.DrawStringCentered(font, brickBreaker.messageToPlayer, 20 * drawScale, Color.Green, 0.4f);
            }

            //var rect = brickBreaker.Paddle.Rectangle;
            //rect.Width = (int)(brickBreaker.Paddle.Rectangle.Width * 0.2f);
            //spriteBatch.Draw(CoreGlobals.BlankTexture, rect, Color.White);
            //rect.X += rect.Width;
            //rect.Width = (int)(brickBreaker.Paddle.Rectangle.Width * 0.2f);
            //spriteBatch.Draw(CoreGlobals.BlankTexture, rect, Color.Red);
            //rect.X += rect.Width;
            //rect.Width = (int)(brickBreaker.Paddle.Rectangle.Width * 0.2f);
            //spriteBatch.Draw(CoreGlobals.BlankTexture, rect, Color.Green);
            //rect.X += rect.Width;
            //rect.Width = (int)(brickBreaker.Paddle.Rectangle.Width * 0.2f);
            //spriteBatch.Draw(CoreGlobals.BlankTexture, rect, Color.Blue);
            //rect.X += rect.Width;
            //rect.Width = (int)(brickBreaker.Paddle.Rectangle.Width * 0.2f);
            //spriteBatch.Draw(CoreGlobals.BlankTexture, rect, Color.Yellow);

            if (brickBreaker.State == BrickbreakerGame.GameState.GameOverTransition)
            {
                FlashScreen(Color.Black, new Color(15, 0, 0), 10);
                spriteBatch.DrawStringCentered(font, "GAME OVER ", 175, Color.Red, 1f);
                spriteBatch.DrawStringCentered(font, brickBreaker.ScoreText1, 225, Color.Green, 1f);

                if (brickBreaker.BeatHighScore())
                {
                    spriteBatch.DrawStringCentered(font, "Congrats New High Score", 255, Color.Green, 1f);
                }
            }

            if (brickBreaker.pauseGame)
            {
                spriteBatch.DrawStringCentered(font, "PAUSE", 200, Color.Green, 2f);
            }

            if (!brickBreaker.playerAlive)
            {
                FlashScreen(Color.Black, new Color(15, 0, 0), 10);
                spriteBatch.DrawStringCentered(font, "Remaining " + brickBreaker.LivesText, 200, Color.Green, 1f);
            }

            if (brickBreaker.loadingNewLevel)
            {
                FlashScreen(Color.Black, new Color(0, 15, 0), 10);
                spriteBatch.DrawStringCentered(font, "Level complete.", 175, Color.AntiqueWhite, 1f);
                if (!brickBreaker.useRandomLayout)
                {
                    spriteBatch.DrawStringCentered(font, "Loading: " + brickBreaker.levelItem.ToString(), 225, Color.AntiqueWhite, 1f);
                }
            }
        }