public CellHashset(SudokuSolverVM InParent, int InIndex, int Row, int Col, int Quad) { _Parent = InParent; _Index = InIndex; StartOfRow = Row; StartOfColumn = Col; StartOfQuadrant = Quad; _PossibleAnswers = new HashSet <int>(); for (int i = 1; i <= SudokuSolverVM.NUM_VALS; i++) { _PossibleAnswers.Add(i); } }
public SudokuSolverView() { _VM = new SudokuSolverVM(); DataContext = _VM; InitializeComponent(); for (int i = 0; i < SudokuSolverVM.ROWS; i++) { SudokuGameboard.RowDefinitions.Add(new RowDefinition()); } for (int i = 0; i < SudokuSolverVM.COLS; i++) { SudokuGameboard.ColumnDefinitions.Add(new ColumnDefinition()); } for (int i = 0; i < SudokuSolverVM.TOTAL_CELLS; i++) { CellView Cell = new CellView(_VM.Cells[i]); Grid.SetRow(Cell, (int)Math.Floor((double)(i / SudokuSolverVM.COLS))); Grid.SetColumn(Cell, (i % SudokuSolverVM.COLS)); SudokuGameboard.Children.Add(Cell); // start of a quadrant if (_VM.FindTheStartOfIndexQuadrant(i) == i) { Border QuadBorder = new Border(); Grid.SetRow(QuadBorder, (int)Math.Floor((double)(i / SudokuSolverVM.COLS))); Grid.SetColumn(QuadBorder, (i % SudokuSolverVM.COLS)); Grid.SetRowSpan(QuadBorder, SudokuSolverVM.QUAD_ROWS); Grid.SetColumnSpan(QuadBorder, SudokuSolverVM.QUAD_COLS); QuadBorder.BorderThickness = new Thickness(3); QuadBorder.BorderBrush = new SolidColorBrush(Colors.White); SudokuGameboard.Children.Add(QuadBorder); } } }