Ejemplo n.º 1
0
        private DirectionEnum MoveOnBorder(LatticePoint currCenter, DirectionEnum direction)
        {
            var oneForward = currCenter.Move(direction, 1);

            var directionLeft = direction.Rotate(1);
            var forwardLeft   = oneForward.Move(directionLeft);

            if (!queriedPoints[true].Contains(forwardLeft))
            {
                return(directionLeft);
            }

            var directionRight = direction.Rotate(-1);
            var forwardRight   = oneForward.Move(directionRight);

            if (queriedPoints[true].Contains(forwardRight))
            {
                return(directionRight);
            }

            return(direction);
        }