示例#1
0
        public static Dictionary <Point, List <Point> > GetAllPaths(List <Point> board, UnitsMap unitsMap, Point unitPosition)
        {
            if (board == null || unitsMap == null)
            {
                return(new Dictionary <Point, List <Point> >());
            }

            int          distance    = 0;
            int          patternSize = 7;
            int          stepsLimit  = 17;
            List <Point> boardPoints = PatternProcessor.Process(board, new SquarePattern(patternSize), unitPosition, distance);

            return(BFS.GetPaths(boardPoints, unitPosition, stepsLimit));
        }
示例#2
0
        public static Dictionary <Point, List <Point> > GetAllPaths(List <Point> board, UnitsMap unitsMap, Point unitPosition, bool excludePlayerUnits)
        {
            if (board == null || unitsMap == null)
            {
                return(new Dictionary <Point, List <Point> >());
            }

            int          distance      = 0;
            int          patternSize   = 7;
            int          stepsLimit    = 17;
            List <Point> boardPoints   = PatternProcessor.Process(board, new SquarePattern(patternSize), unitPosition, distance);
            List <Point> processedList = boardPoints.Where(currentPoint => !unitsMap.Contains(currentPoint)).ToList();

            if (!excludePlayerUnits)
            {
                unitsMap.GetUnits(Type.Player).ForEach(unit => processedList.Add(unit.GetPosition()));
            }

            return(BFS.GetPaths(processedList, unitPosition, stepsLimit));
        }
示例#3
0
 public void SetUp()
 {
     patternProcessor = new PatternProcessor();
     queryValidator   = new InputValidator();
     patternSearch    = new PatternSearch(patternProcessor, queryValidator);
 }
示例#4
0
 public void SetUp()
 {
     patternProcessor = new PatternProcessor();
 }