Пример #1
0
        /*
         *      This method can be thought of as a game controller port.
         *      Pass an action as a TetrisInput enumeration to give player input to the game.
         *      This method causes observers to be notified of game board changes, for instance.
         *      Nothing happens if the current game is over. Call Restart to restart the game.
         */
        public void GiveInput(TetrisInput input)
        {
            if (_stateLogic.GameState == GameState.Over)
            {
                return;
            }

            switch (input)
            {
            case TetrisInput.Left:
                _boardLogic.MoveLeft();
                break;

            case TetrisInput.Right:
                _boardLogic.MoveRight();
                break;

            case TetrisInput.RotateLeft:
                _boardLogic.RotateLeft();
                break;

            case TetrisInput.RotateRight:
                _boardLogic.RotateRight();
                break;

            case TetrisInput.Drop:
                _boardLogic.Drop();
                break;

            case TetrisInput.HoldTetromino:
                _boardLogic.HoldTetromino();
                break;
            }
        }