diff options
author | Stijn Buys <ingar@osirion.org> | 2012-07-25 18:47:14 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2012-07-25 18:47:14 +0000 |
commit | 6d6801d4779266b0eb062120525ef76510e76e3c (patch) | |
tree | a8e3ef7d9f64f98a64c9b9801cff0987de6d0b3c /src/solverwindow.cc | |
parent | 1c993ec2cd1a57a1d8f29c868f1638cc2f4571b3 (diff) |
Added initial coverage solver.
Diffstat (limited to 'src/solverwindow.cc')
-rw-r--r-- | src/solverwindow.cc | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/src/solverwindow.cc b/src/solverwindow.cc index 23157f4..a959a91 100644 --- a/src/solverwindow.cc +++ b/src/solverwindow.cc @@ -29,10 +29,15 @@ SolverWindow::SolverWindow() sidebarlayout->addWidget(savebutton); connect(savebutton, SIGNAL(clicked()), this, SLOT(save())); - // add step button - QPushButton *stepbutton = new QPushButton(tr("Step")); - sidebarlayout->addWidget(stepbutton); - connect(stepbutton, SIGNAL(clicked()), this, SLOT(step())); + // add step constraints button + QPushButton *stepconstraintsbutton = new QPushButton(tr("Constraints")); + sidebarlayout->addWidget(stepconstraintsbutton); + connect(stepconstraintsbutton, SIGNAL(clicked()), this, SLOT(step_constraints())); + + // add step coverage button + QPushButton *stepcoveragebutton = new QPushButton(tr("Coverage")); + sidebarlayout->addWidget(stepcoveragebutton); + connect(stepcoveragebutton, SIGNAL(clicked()), this, SLOT(step_coverage())); // add stretch sidebarlayout->addStretch(1); @@ -148,23 +153,20 @@ void SolverWindow::clear() solverwindow_sudokuwidget->set_values(sudoku); } -void SolverWindow::step() +void SolverWindow::step_constraints() { - int cells_solved = 0; Sudoku sudoku; solverwindow_sudokuwidget->get_values(sudoku); - - Sudoku solution; - for (int row = 0; row < 9; row++) { - for (int column = 0; column < 9; column++) { - solution.set_value(row, column, sudoku.solve_step(row, column)); - - if ((sudoku.value(row, column) == 0) && (solution.value(row, column) > 0)) { - cells_solved++; - } - - } - } - solverwindow_sudokuwidget->set_values(solution); - qDebug() << cells_solved << " cells solved"; + sudoku.solve_constraints(); + solverwindow_sudokuwidget->set_values(sudoku); + //qDebug() << cells_solved << " cells solved"; } + +void SolverWindow::step_coverage() +{ + Sudoku sudoku; + solverwindow_sudokuwidget->get_values(sudoku); + sudoku.solve_coverage(); + solverwindow_sudokuwidget->set_values(sudoku); + +}
\ No newline at end of file |