示例#1
0
        public void LevelUpdate(KeyboardState keyboard) //this checks whatever the character presses to see what to level up
        {
            if (keyboard.IsKeyDown(Keys.D1))            // they press 1 and it levels up the health
            {
                MaxHealth  += 10;
                Health     += 10;
                Experience -= level * 100;              //takes away the amount of experience needed for that level
                level      += 1;                        //adds one to their level

                CurrentQuickState = QuickState.MenuOff; //turns off the menu
            }
            if (keyboard.IsKeyDown(Keys.D2))            //does the same but for mana
            {
                MaxMana    += 10;
                Mana       += 10;
                Experience -= level * 100;
                level      += 1;

                CurrentQuickState = QuickState.MenuOff;
            }
            if (keyboard.IsKeyDown(Keys.D3))// the same but for strength
            {
                Strength   += 5;
                Experience -= level * 100;
                level      += 1;

                CurrentQuickState = QuickState.MenuOff;
            }
            if (keyboard.IsKeyDown(Keys.D4) && MSpeed <= 15)// same but for movement speed
            {
                MSpeed     += 2;
                Experience -= level * 100;
                level      += 1;

                CurrentQuickState = QuickState.MenuOff;
            }
            if (keyboard.IsKeyDown(Keys.D5))//same
            {
                ASpeed     += 5;
                Experience -= level * 100;
                level      += 1;

                CurrentQuickState = QuickState.MenuOff;
            }
            if (keyboard.IsKeyDown(Keys.D6))// same
            {
                Intelligence += 5;
                Experience   -= level * 100;
                level        += 1;

                CurrentQuickState = QuickState.MenuOff;
            }
        }
示例#2
0
        public void DrawStatsDisplay(SpriteBatch spriteBatch, SpriteFont font, Viewport Viewport, KeyboardState keyboard, Texture2D Menu1, Texture2D Menu2, Texture2D Menu3, Vector2 centre, Rectangle rectangle, Texture2D hpBar, Texture2D manaBar, Texture2D barBack) // this draws the stat board
        {
            switch (CurrentQuickState)                                                                                                                                                                                                                                   //this switch determines whether to draw all the stats or just health and mana
            {
            case QuickState.MenuOff:                                                                                                                                                                                                                                     //if the menu is off
                                                                                                                                                                                                                                                                         //it just draws the health and mana in the top left of the viewport
                spriteBatch.Draw(Menu1, new Vector2(centre.X - rectangle.Width / 2 + 160, centre.Y - rectangle.Height * 2 / 3 + 120), Color.White);

                spriteBatch.DrawString(font, Name, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120)), Color.Orange);
                spriteBatch.Draw(barBack, new Vector2((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15), Color.White);
                spriteBatch.Draw(hpBar, new Rectangle((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15, (int)((float)Health / (float)MaxHealth * 165), 15), Color.White);
                spriteBatch.DrawString(font, "Health: " + Health + "/" + MaxHealth, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15), Color.Orange);
                spriteBatch.Draw(barBack, new Vector2((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15 * 2), Color.White);
                spriteBatch.Draw(manaBar, new Rectangle((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15 * 2, (int)((float)Mana / (float)MaxMana * 165), 15), Color.White);
                spriteBatch.DrawString(font, "Mana:   " + Mana + "/" + MaxMana, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 2), Color.Orange);
                if (keyboard.IsKeyDown(Keys.LeftShift))    // if they press shift
                {
                    CurrentQuickState = QuickState.MenuOn; // it switches it into the menu on state
                }
                break;

            case QuickState.MenuOn:    //if the menus on
                spriteBatch.Draw(Menu2, new Vector2(centre.X - rectangle.Width / 2 + 160, centre.Y - rectangle.Height * 2 / 3 + 120), Color.White);

                spriteBatch.DrawString(font, Name, new Vector2(centre.X - rectangle.Width / 2 + 160, centre.Y - rectangle.Height * 2 / 3 + 120), Color.Orange);
                spriteBatch.Draw(barBack, new Vector2((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15), Color.White);
                spriteBatch.Draw(hpBar, new Rectangle((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15, (int)((float)Health / (float)MaxHealth * 165), 15), Color.White);
                spriteBatch.DrawString(font, "Health: " + Health + "/" + MaxHealth, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15), Color.Orange);
                spriteBatch.Draw(barBack, new Vector2((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15 * 2), Color.White);
                spriteBatch.Draw(manaBar, new Rectangle((int)(centre.X - rectangle.Width / 2 + 240), (int)(centre.Y - rectangle.Height * 2 / 3 + 126) + 15 * 2, (int)((float)Mana / (float)MaxMana * 165), 15), Color.White);
                spriteBatch.DrawString(font, "Mana:   " + Mana + "/" + MaxMana, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 2), Color.Orange);
                spriteBatch.DrawString(font, "Strength: " + Strength.ToString(), new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 3), Color.Orange);
                spriteBatch.DrawString(font, "MSpeed: " + MSpeed.ToString(), new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 4), Color.Orange);
                spriteBatch.DrawString(font, "ASpeed: " + ASpeed.ToString(), new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 5), Color.Orange);
                spriteBatch.DrawString(font, "Intelligence: " + Intelligence.ToString(), new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 6), Color.Orange);
                spriteBatch.DrawString(font, "Experience: " + Experience.ToString() + "/" + level * 100, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 7), Color.Orange);


                //it draws all the stats in the top left of the viewport
                if (keyboard.IsKeyUp(Keys.LeftShift))       //if the shift key is let go
                {
                    CurrentQuickState = QuickState.MenuOff; //it shuts the menu off
                }
                break;

            case QuickState.LevelUp:    // when they player is leveling up
                                        //it shows all the stats and which key to press to level them up
                spriteBatch.Draw(Menu3, new Vector2(centre.X - rectangle.Width / 2 + 160, centre.Y - rectangle.Height * 2 / 3 + 120), Color.White);

                spriteBatch.DrawString(font, Name, new Vector2(centre.X - rectangle.Width / 2 + 160, centre.Y - rectangle.Height * 2 / 3 + 120), Color.Orange);
                spriteBatch.DrawString(font, "Health: " + Health + "/" + MaxHealth + " Press 1 to level up Health", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15), Color.Orange);
                spriteBatch.DrawString(font, "Mana: " + Mana + "/" + MaxMana + " Press 2 to level up Mana", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 2), Color.Orange);
                spriteBatch.DrawString(font, "Strength: " + Strength.ToString() + " Press 3 to level up Strength", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 3), Color.Orange);
                if (MSpeed <= 15)
                {
                    spriteBatch.DrawString(font, "MSpeed: " + MSpeed.ToString() + " Press 4 to level up Move Speed", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 4), Color.Orange);
                }
                else
                {
                    spriteBatch.DrawString(font, "MSpeed: " + MSpeed.ToString() + " MAX", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 4), Color.Orange);
                }
                spriteBatch.DrawString(font, "ASpeed: " + ASpeed.ToString() + " Press 5 to level up Attack Speed", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 5), Color.Orange);
                spriteBatch.DrawString(font, "Intelligence: " + Intelligence.ToString() + " Press 6 to level up Intelligence", new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 6), Color.Orange);
                spriteBatch.DrawString(font, "Experience: " + Experience.ToString() + "/" + level * 100, new Vector2(centre.X - rectangle.Width / 2 + 160, (centre.Y - rectangle.Height * 2 / 3 + 120) + 15 * 7), Color.Orange);

                LevelUpdate(keyboard);    //this is the level update method to see which key they press and do something accordingly
                break;
            }
        }
示例#3
0
 public void LevelUp()//the level up method sets the quickstate menu state to level up
 {
     CurrentQuickState = QuickState.LevelUp;
 }