示例#1
0
        public List<Direction> GetDirections(Coord currPos, int numSteps = -1)
        {
            var n = numSteps == -1 ? path.Count : Math.Min(path.Count, numSteps);
            var directions = new List<Direction>(n);

            if (n > 0)
            {
                directions.Add(currPos.DirectionFromOffset(path[0]));
                for (int i = n - 1; i > 0; i--)
                {
                    directions.Add(path[i].DirectionFromOffset(path[i - 1]));
                }
            }

            return directions;
        }