]> git.itanic.dy.fi Git - sudoku/blobdiff - sudoku.h
random.cpp: Return better random numbers
[sudoku] / sudoku.h
index 986d63a166fbd9513177120b37b93690814433df..7b5e77c02cbc86c2e366cef7be15b5a2bcbdf7fa 100644 (file)
--- a/sudoku.h
+++ b/sudoku.h
@@ -2,8 +2,8 @@
 #define SUDOKU_H
 
 #include <vector>
+#include <string>
 
-extern int guesses;
 extern int verbose;
 
 class sudoku {
@@ -12,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);
@@ -20,18 +21,22 @@ 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;
-private:
+       int guesses;
 
+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];
 };