Example #1
0
        private void OnPressed(Keys key)
        {
            if (key == Keys.Escape)
            {
                Exit();
                return;
            }

            if (_game.HasWon())
            {
                if (key == Keys.R || key == Keys.Space || key == Keys.Enter)
                {
                    _game.Reset();
                }

                return;
            }

            switch (key)
            {
            case Keys.Escape:
                Exit();
                break;

            case Keys.W:
            case Keys.Up:
                _game.MovePlayer(Direction.North);
                break;

            case Keys.A:
            case Keys.Left:
                _game.MovePlayer(Direction.West);
                break;

            case Keys.S:
            case Keys.Down:
                _game.MovePlayer(Direction.South);
                break;

            case Keys.D:
            case Keys.Right:
                _game.MovePlayer(Direction.East);
                break;

            case Keys.R:
                _game.Reset();
                break;

            case Keys.PageDown:
                _game.Undo();
                break;

            case Keys.PageUp:
                _game.Redo();
                break;
            }
        }