public void Run()
    {
        Image menu = new Image("data/background.png");

        SdlHardware.ClearScreen();
        SdlHardware.DrawHiddenImage(menu, 160, 60);
        SdlHardware.WriteHiddenText("1. Play",
                                    380, 240,
                                    0xC0, 0xC0, 0xC0,
                                    font24);
        SdlHardware.WriteHiddenText("2. Help",
                                    380, 280,
                                    0xA0, 0xA0, 0xA0,
                                    font24);
        SdlHardware.WriteHiddenText("3. Credits",
                                    380, 320,
                                    0xA0, 0xA0, 0xA0,
                                    font24);
        SdlHardware.WriteHiddenText("K. Config",
                                    380, 360,
                                    0xA0, 0xA0, 0xA0,
                                    font24);
        SdlHardware.WriteHiddenText("Q. Quit",
                                    380, 400,
                                    0x80, 0x80, 0x80,
                                    font24);
        SdlHardware.ShowHiddenScreen();

        do
        {
            option = 0;

            if (SdlHardware.KeyPressed(SdlHardware.KEY_1))
            {
                option = OPTION_PLAY;
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_2))
            {
                option = OPTION_HELP;
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_3))
            {
                option = OPTION_CREDITS;
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_K))
            {
                option = OPTION_CONFIG;
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_Q))
            {
                option = OPTION_QUIT;
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_F2))
            {
                SdlHardware.ToggleFullScreen();
            }

            SdlHardware.Pause(50);
        }while (option == 0);
    }
Exemple #2
0
    private void checkInput()
    {
        if (!paused)
        {
            if (SdlHardware.KeyPressed(SdlHardware.KEY_RIGHT))
            {
                player.TryToMoveRight(complex.GetCurrentRoom());
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_LEFT))
            {
                player.TryToMoveLeft(complex.GetCurrentRoom());
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_SPC))
            {
                if (!weapon.IsVisible())
                {
                    weapon.Show();
                    weapon.MoveTo(player.GetX() + 40, player.GetY() + 40);
                }
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_UP))
            {
                player.TryToMoveUp(complex.GetCurrentRoom());
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_DOWN))
            {
                player.TryToMoveDown(complex.GetCurrentRoom());
            }

            if (SdlHardware.KeyPressed(SdlHardware.KEY_ESC))
            {
                paused = true;
            }
        }

        if (paused)
        {
            if (SdlHardware.KeyPressed(SdlHardware.KEY_R))
            {
                paused = false;
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_Q))
            {
                paused   = false;
                finished = true;
            }
        }

        // And F2 toggles Full Screen mode
        if (SdlHardware.KeyPressed(SdlHardware.KEY_F2))
        {
            SdlHardware.ToggleFullScreen();
        }

        // Cheat 1: C+E to get full energy
        if (SdlHardware.KeyPressed(SdlHardware.KEY_C) &&
            SdlHardware.KeyPressed(SdlHardware.KEY_E))
        {
            info.Energy = 100;
        }
    }
Exemple #3
0
    public void ProcessUserInput()
    {
        if (SdlHardware.KeyPressed(SdlHardware.KEY_ESC))
        {
            finished = true;
        }
        if (SdlHardware.KeyPressed(SdlHardware.KEY_RIGHT) ||
            SdlHardware.JoystickMovedRight())
        {
            player.MoveRight();
        }
        if (SdlHardware.KeyPressed(SdlHardware.KEY_LEFT) ||
            SdlHardware.JoystickMovedLeft())
        {
            player.MoveLeft();
        }
        if ((SdlHardware.KeyPressed(SdlHardware.KEY_SPC) ||
             SdlHardware.JoystickMovedUp() ||
             (SdlHardware.MouseClicked() && activeMouse)) &&
            (!player.GetFire().IsVisible()))
        {
            fireSound.PlayOnce();
            player.Shoot();
        }

        // And F2 toggles Full Screen mode
        if (SdlHardware.KeyPressed(SdlHardware.KEY_F2))
        {
            SdlHardware.ToggleFullScreen();
        }

        if (SdlHardware.KeyPressed(SdlHardware.KEY_T))
        {
            if (SdlHardware.KeyPressed(SdlHardware.KEY_V))
            {
                ApplyCheat('V');
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_N))
            {
                ApplyCheat('N');
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_R))
            {
                ApplyCheat('R');
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_P))
            {
                ApplyCheat('P');
            }
            if (SdlHardware.KeyPressed(SdlHardware.KEY_D))
            {
                ApplyCheat('D');
            }
        }

        if (activeMouse)
        {
            player.MoveTo(SdlHardware.GetMouseX(), player.GetY());
        }

        if (SdlHardware.KeyPressed(SdlHardware.KEY_O))
        {
            if (activeMouse)
            {
                activeMouse    = false;
                activeJoystick = true;
            }
            else if (activeJoystick)
            {
                activeJoystick = false;
            }
            else
            {
                activeMouse = true;
            }
        }
    }