public override void Check(Board brd) { changes = false; List <char> list; foreach (Cell c in brd.board) { list = new List <char>(c.charChoices); if (c.charChoices.Count < (brd.n / 4)) { foreach (char v in list) { Board temp = new Board(brd); temp.board[c.yPos, c.xPos].displayedChar = v; SolverLoop l = new SolverLoop(); if (l.Run(temp)) { c.displayedChar = v; changes = true; break; } } } if (changes) { break; } } }
private void SolvePuzzle(object sender, RoutedEventArgs e) { sudokuGrid.IsEnabled = true; SolverLoop l = new SolverLoop(); l.Run(brd); UpdateGrid(); }