]> git.itanic.dy.fi Git - sudoku/blobdiff - sudoku.h
random.cpp: Return better random numbers
[sudoku] / sudoku.h
index 9575e7cb2b35aebdd1342c75fc46d8dff85c9f28..7b5e77c02cbc86c2e366cef7be15b5a2bcbdf7fa 100644 (file)
--- a/sudoku.h
+++ b/sudoku.h
@@ -2,6 +2,7 @@
 #define SUDOKU_H
 
 #include <vector>
+#include <string>
 
 extern int verbose;
 
@@ -11,6 +12,7 @@ public:
        ~sudoku();
 
        void print(void);
+       void print_compact(void);
 
        int set(const int col, const int row, const char num);
        char get(const int col, const int row);
@@ -19,8 +21,8 @@ public:
        int str_to_row(const int row, const std::string &str);
 
        std::string get_legal_numbers(const int col, const int row);
-       sudoku solve(int &solvable);
-       std::vector<sudoku> solve_all();
+       std::vector<sudoku> solve_all(void);
+       int generate(int min_guesses);
 
        int recursion_depth;
        int guesses;
@@ -29,9 +31,12 @@ private:
        std::string get_row_contents(const int row);
        std::string get_col_contents(const int col);
        std::string get_block_contents(const int col, const int row);
-       int fill_missing();
-       void clone_to(sudoku &to);
+       int fill_missing(void);
        int get_best_guess(int &col, int &row);
+       sudoku fill_with_random(int &solvable);
+       sudoku remove_randomly(int min_guesses, int depth);
+       sudoku remove_randomly_parallel(int min_guesses, int depth);
+       int used_numbers();
 
        char table[9][9];
 };