private IValueCyclableCollection CreateValueCyclableCollection() { ValueCyclableCollection collection = new ValueCyclableCollection(); int squareSize = Puzzle.Size * Puzzle.Size; for (int i = 1; i <= squareSize; i++) { collection.Add(i); } return collection; }
private IValueCyclableCollection CreateValueCyclableCollection(ISudokuPosition position) { ValueCyclableCollection collection = new ValueCyclableCollection(); int squareSize = Puzzle.Size * Puzzle.Size; for (int i = 1; i <= squareSize; i++) { if (!ValueExistsInRow(position, i) && !ValueExistsInColumn(position, i) && !ValueExistsInRegion(position, i)) { collection.Add(i); } } return collection; }