示例#1
0
    public void HandleInput(GameTime gameTime, InputHelper inputHelper)
    {
        switch (gameState)
        {
        case GameState.Menu:
            if (inputHelper.KeyPressed(Keys.Space) || inputHelper.KeyPressed(Keys.Enter))
            {
                gameState = GameState.Playing;
            }
            break;

        case GameState.Playing:
            if (inputHelper.KeyPressed(Keys.Down))
            {
                counter++;
                if (Collision())
                {
                    counter--;
                }
            }
            else if (inputHelper.KeyPressed(Keys.Space) && counter > 1)
            {
                while (!Collision())
                {
                    tetrisblock.blockposition.Y++;
                }
            }
            else if (inputHelper.KeyPressed(Keys.Right))     //Beweegt de tetromino naar rechts
            {
                tetrisblock.blockposition.X += blocksize;
                if (Collision())
                {
                    tetrisblock.blockposition.X -= blocksize;
                }
            }
            else if (inputHelper.KeyPressed(Keys.Left))
            {
                tetrisblock.blockposition.X -= blocksize;
                if (Collision())
                {
                    tetrisblock.blockposition.X += blocksize;
                }
            }
            else if (inputHelper.KeyPressed(Keys.A))
            {
                tetrisblock.RotateL();
                if (Collision())
                {
                    tetrisblock.RotateR();
                }
            }
            else if (inputHelper.KeyPressed(Keys.D))
            {
                tetrisblock.RotateR();
                if (Collision())
                {
                    tetrisblock.RotateL();
                }
            }
            else if (inputHelper.KeyPressed(Keys.Escape))
            {
                gameState = GameState.Menu;
            }
            break;

        case GameState.GameOver:
        {
            if (inputHelper.KeyPressed(Keys.Space) || inputHelper.KeyPressed(Keys.Enter))
            {
                gameState = GameState.Playing;
            }
            else if (inputHelper.KeyPressed(Keys.Escape))
            {
                gameState = GameState.Menu;
            }
        }
        break;
        }
    }