public Dictionary <int, PatternNeighbours> FindNeighbours(PatternDataResults patternFinderResult) { Dictionary <int, PatternNeighbours> result = new Dictionary <int, PatternNeighbours>(); FindNeighboursForEachPattern(patternFinderResult, result); return(result); }
private void FindNeighboursForEachPattern(PatternDataResults patternFinderResult, Dictionary <int, PatternNeighbours> result) { for (int row = 0; row < patternFinderResult.GetGridLengthY(); row++) { for (int col = 0; col < patternFinderResult.GetGridLengthX(); col++) { PatternNeighbours neighbours = PatternFinder.CheckNeighboursInEachDirection(col, row, patternFinderResult); PatternFinder.AddNeighboursToDictionary(result, patternFinderResult.GetIndexAt(col, row), neighbours); } } }
public Dictionary <int, PatternNeighbours> FindNeighbours(PatternDataResults patternFinderResult) { Dictionary <int, PatternNeighbours> result = new Dictionary <int, PatternNeighbours>(); foreach (var patternDataToCheck in patternFinderResult.PatternIndexDictionary) { foreach (var possibleNeighbourForPattern in patternFinderResult.PatternIndexDictionary) { FindNeighboursInAllDirections(result, patternDataToCheck, possibleNeighbourForPattern); } } return(result); }
public static PatternNeighbours CheckNeighboursInEachDirection(int x, int y, PatternDataResults patternDataResults) { PatternNeighbours patternNeighbours = new PatternNeighbours(); foreach (Direction dir in Enum.GetValues(typeof(Direction))) { int PossiblePatternIndex = patternDataResults.GetNeighbourInDirection(x, y, dir); if (PossiblePatternIndex >= 0) { patternNeighbours.AddPatternToDictionary(dir, PossiblePatternIndex); } } return(patternNeighbours); }
private void GetPatternNeighbours(PatternDataResults patternFinderResult, IFindNeighbourStrategy strategy) { patternPossibleNeighboursDictionary = PatternFinder.FindPossibleNeighboursForAllPatterns(strategy, patternFinderResult); }
public static Dictionary <int, PatternNeighbours> FindPossibleNeighboursForAllPatterns( IFindNeighbourStrategy strategy, PatternDataResults patternFinderResult) { return(strategy.FindNeighbours(patternFinderResult)); }