summaryrefslogtreecommitdiff
path: root/src/sudoku.h
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-07-25 18:47:14 +0000
committerStijn Buys <ingar@osirion.org>2012-07-25 18:47:14 +0000
commit6d6801d4779266b0eb062120525ef76510e76e3c (patch)
treea8e3ef7d9f64f98a64c9b9801cff0987de6d0b3c /src/sudoku.h
parent1c993ec2cd1a57a1d8f29c868f1638cc2f4571b3 (diff)
Added initial coverage solver.
Diffstat (limited to 'src/sudoku.h')
-rw-r--r--src/sudoku.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/sudoku.h b/src/sudoku.h
index a6bf821..3b9af8e 100644
--- a/src/sudoku.h
+++ b/src/sudoku.h
@@ -9,16 +9,27 @@ class Sudoku {
public:
Sudoku();
- // inspector
+ Sudoku(const Sudoku & other);
+
+ void assign(const Sudoku & other);
+
+ // inspectors
inline int value(int row, int column) const {
return sudoku_cell[row][column].value();
}
- // mutator
- void set_value(int row, int column, int value);
+ // mutators
+ void validate();
+
+ void set_value(int row, int column, int cell_value);
+
+ void validate_cell(int pos_row, int pos_column);
+
+ int solve_constraints(int pos_row, int pos_column);
- int solve_step(int pos_row, int pos_column);
+ void solve_constraints();
+ void solve_coverage();
private:
Cell sudoku_cell[9][9];
};