Esempio n. 1
0
        private IEnumerable <Definition.Element> Iterator(Definition.Sudoku sudoku, SudokuElementTravelType travelType)
        {
            IEnumerable <Definition.IElementCluster> clusters;

            switch (travelType)
            {
            case SudokuElementTravelType.Grid:
                clusters = sudoku.Grids;
                break;

            case SudokuElementTravelType.Row:
                clusters = sudoku.Rows;
                break;

            case SudokuElementTravelType.Column:
                clusters = sudoku.Columns;
                break;

            default: throw new NotImplementedException();
            }

            foreach (var cluster in clusters)
            {
                foreach (var element in cluster.Elements)
                {
                    yield return(element);
                }
            }
        }
Esempio n. 2
0
 public SudokuElementEnumerable(Definition.Sudoku sudoku, SudokuElementTravelType travelType)
 {
     if (sudoku == null)
     {
         throw new ArgumentNullException("sudoku");
     }
     this.sudoku     = sudoku;
     this.travelType = travelType;
 }