Пример #1
0
        public State GetUndo()
        {
            if (Previous == null)
            {
                throw new NullReferenceException("Prev state not set");
            }
            State.Direction nDir = State.Direction.Stop;
            switch (ReferenceState.Dir)
            {
            case State.Direction.Stop:
                break;

            case State.Direction.Left:
                nDir = State.Direction.Right;
                break;

            case State.Direction.Right:
                nDir = State.Direction.Left;
                break;

            //case State.Direction.Up:
            //    nDir = State.Direction.Down;
            //    break;
            //case State.Direction.Down:
            //    nDir = State.Direction.Up;
            //    break;
            default:
                break;
            }
            return(new State(Previous.NextQ, nDir, Previous.SetMarker));
        }
Пример #2
0
        public void move(State.Direction direction)
        {
            this.playerDirection = direction;

            switch (direction)
            {
            case State.Direction.North:
                PlayerPos.Y = PlayerPos.Y - 2;
                break;

            case State.Direction.NorthEast:
                PlayerPos.Y = PlayerPos.Y - 2;
                PlayerPos.X = PlayerPos.X + 2;
                break;

            case State.Direction.NorthWest:
                PlayerPos.Y = PlayerPos.Y - 2;
                PlayerPos.X = PlayerPos.X - 2;
                break;

            case State.Direction.East:
                PlayerPos.X = PlayerPos.X + 2;
                break;

            case State.Direction.West:
                PlayerPos.X = PlayerPos.X - 2;
                break;

            case State.Direction.South:
                PlayerPos.Y = PlayerPos.Y + 2;
                break;

            case State.Direction.SouthEast:
                PlayerPos.Y = PlayerPos.Y + 2;
                PlayerPos.X = PlayerPos.X + 2;
                break;

            case State.Direction.SouthWest:
                PlayerPos.Y = PlayerPos.Y + 2;
                PlayerPos.X = PlayerPos.X - 2;
                break;
            }
        }