Exemple #1
0
        internal string SelectKeyBinds()
        {
            KeyboardState kstate = Keyboard.GetState();

            if (kstate.IsKeyDown(KeyBinds.Instance().Up))
            {
                return("UP");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().UpRight))
            {
                return("UPRIGHT");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().UpLeft))
            {
                return("UPLEFT");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().Down))
            {
                return("DOWN");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().DownRight))
            {
                return("DOWNRIGHT");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().DownLeft))
            {
                return("DOWNLEFT");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().Right))
            {
                return("RIGHT");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().Left))
            {
                return("LEFT");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().Slow))
            {
                return("SLOW");
            }
            else if (kstate.IsKeyDown(KeyBinds.Instance().Fire))
            {
                return("FIRE");
            }
            else
            {
                return(string.Empty);
            }
        }
Exemple #2
0
        internal bool SetKeyBind(string keybindSelect)
        {
            KeyboardState kstate = Keyboard.GetState();

            KeySetPrompt2 = KeySetPrompt2 = $"You have chosen to rebind {keybindSelect}";
            KeySetPrompt3 = "Press the currently bound key and the key to rebind";
            switch (keybindSelect)
            {
            case "UP":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().Up)
                        {
                            KeyBinds.Instance().Up = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "UPLEFT":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().UpLeft)
                        {
                            KeyBinds.Instance().UpLeft = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "UPRIGHT":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().UpRight)
                        {
                            KeyBinds.Instance().UpRight = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "DOWN":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().Down)
                        {
                            KeyBinds.Instance().Down = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "DOWNLEFT":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().DownLeft)
                        {
                            KeyBinds.Instance().DownLeft = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "DOWNRIGHT":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().DownRight)
                        {
                            KeyBinds.Instance().DownRight = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "RIGHT":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().Right)
                        {
                            KeyBinds.Instance().Right = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "LEFT":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().Left)
                        {
                            KeyBinds.Instance().Left = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "SLOW":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().Slow)
                        {
                            KeyBinds.Instance().Slow = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            case "FIRE":
                if (kstate.GetPressedKeys().Length >= 1)
                {
                    foreach (Keys key in kstate.GetPressedKeys())
                    {
                        if (key != KeyBinds.Instance().Fire)
                        {
                            KeyBinds.Instance().Fire = kstate.GetPressedKeys()[0];
                            return(true);
                        }
                    }
                    return(false);
                }
                else
                {
                    return(false);
                }

            default:
                return(false);
            }
        }
Exemple #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);
            //Add your drawing code here
            spriteBatch.Begin();

            spriteBatch.Draw(backgroundSprite, new Vector2(0, 0), Color.White);
            //spriteBatch.Draw(backgroundGrid, new Vector2(0, 0), Color.White);
            if (menuOpen)
            {
                if (keySet)
                {
                    spriteBatch.DrawString(gameFont, Menu.keySetPrompt1, new Vector2(100, 100), Color.Aqua);
                    spriteBatch.DrawString(gameFont, $"Up:{KeyBinds.Instance().Up.ToString()}  Down:{KeyBinds.Instance().Down.ToString()}  Right:{KeyBinds.Instance().Right.ToString()}  Left:{KeyBinds.Instance().Left}", new Vector2(100, 150), Color.Aquamarine);
                    spriteBatch.DrawString(gameFont, $"UpLeft:{KeyBinds.Instance().UpLeft.ToString()}  DownLeft:{KeyBinds.Instance().DownLeft.ToString()}  UpRight:{KeyBinds.Instance().UpRight.ToString()}  DownRight:{KeyBinds.Instance().DownRight}", new Vector2(100, 200), Color.Aquamarine);
                    spriteBatch.DrawString(gameFont, $"Slow:{KeyBinds.Instance().Slow.ToString()}  Fire:{KeyBinds.Instance().Fire.ToString()}", new Vector2(100, 250), Color.Aquamarine);
                    spriteBatch.DrawString(gameFont, "Press ENTER to return to game M to return to menu", new Vector2(100, 300), Color.Aqua);
                    spriteBatch.DrawString(gameFont, menu.KeySetPrompt2, new Vector2(100, 350), Color.Aqua);
                    spriteBatch.DrawString(gameFont, menu.KeySetPrompt3, new Vector2(100, 400), Color.Aqua);
                }
                else
                {
                    spriteBatch.DrawString(gameFont, Menu.menuString1, new Vector2(100, 100), Color.Fuchsia);
                    spriteBatch.DrawString(gameFont, Menu.menuString2, new Vector2(100, 150), Color.Fuchsia);
                    spriteBatch.DrawString(gameFont, Menu.menuString3, new Vector2(100, 200), Color.Fuchsia);
                }
            }
            else if (gameOver)
            {
                spriteBatch.DrawString(gameFont, "Game Over!", new Vector2(300, 100), Color.Red);
                spriteBatch.DrawString(gameFont, "Press ESC to quit R to reload", new Vector2(200, 150), Color.Red);
            }
            else
            {
                spriteBatch.Draw(playerSprite, new Vector2(player.Position.X - Constants.PLAYER_RADIUS, player.Position.Y - Constants.PLAYER_RADIUS), player.Color);
                var kstate = Keyboard.GetState();
                if (kstate.IsKeyDown(KeyBinds.Instance().Slow))
                {
                    spriteBatch.Draw(hitboxSprite, new Vector2(player.Position.X - 6, player.Position.Y - 2), Color.Chartreuse);
                }

                //spriteBatch.DrawString(gameFont, (level.FrameCount/60).ToString(), new Vector2(780, 70), Color.Chartreuse);
                spriteBatch.DrawString(gameFont, $"Player Lives: {player.Lives}", new Vector2(725, 70), Color.Chartreuse);
                foreach (MobileEntity mob in level.GetMobs())
                {
                    if (mob.Active)
                    {
                        if (mob.MobType == "BulletTypeA")
                        {
                            spriteBatch.Draw(bulletTypeASprite, mob.Position, mob.Color);
                        }
                        if (mob.MobType == "BulletTypeB")
                        {
                            spriteBatch.Draw(bulletTypeBSprite, mob.Position, mob.Color);
                        }
                        if (mob.MobType == "TypeA")
                        {
                            spriteBatch.Draw(typeASprite, mob.Position, mob.Color);
                        }
                        if (mob.MobType == "TypeB")
                        {
                            spriteBatch.Draw(typeBSprite, mob.Position, mob.Color);
                        }
                        if (mob.MobType == "MidBoss")
                        {
                            spriteBatch.Draw(midBossSprite, mob.Position, Color.Orange);
                        }
                        if (mob.MobType == "Boss")
                        {
                            spriteBatch.Draw(bossSprite, mob.Position, Color.HotPink);
                        }
                    }
                }
            }
            spriteBatch.End();
            base.Draw(gameTime);
        }