Another UI feature for Group: now you can click between two legend
[sgt/puzzles] / unfinished / pearl.c
index af25415..bd40dba 100644 (file)
@@ -217,6 +217,7 @@ int pearl_solve(int w, int h, char *clues, char *result)
      * Now repeatedly try to find something we can do.
      */
     while (1) {
+       int done_something = FALSE;
 
 #ifdef SOLVER_DIAGNOSTICS
        for (y = 0; y < H; y++) {
@@ -226,8 +227,6 @@ int pearl_solve(int w, int h, char *clues, char *result)
        }
 #endif
 
-       int done_something = FALSE;
-
        /*
         * Go through the square state words, and discard any
         * square state which is inconsistent with known facts
@@ -267,9 +266,9 @@ int pearl_solve(int w, int h, char *clues, char *result)
                if (!workspace[(2*y+1)*W+(2*x+1)]) {
 #ifdef SOLVER_DIAGNOSTICS
                    printf("edge check at (%d,%d): inconsistency\n", x, y);
+#endif
                    ret = 0;
                    goto cleanup;
-#endif
                }
            }
 
@@ -298,9 +297,9 @@ int pearl_solve(int w, int h, char *clues, char *result)
                if (edgeand & ~edgeor) {
 #ifdef SOLVER_DIAGNOSTICS
                    printf("square check at (%d,%d): inconsistency\n", x, y);
+#endif
                    ret = 0;
                    goto cleanup;
-#endif
                }
 
                for (d = 1; d <= 8; d += d) {
@@ -385,7 +384,6 @@ int pearl_solve(int w, int h, char *clues, char *result)
                        }
                    }
 
-
                    break;
                  case STRAIGHT:
                    /*
@@ -1236,6 +1234,11 @@ static char *solve_game(game_state *state, game_state *currstate,
     return NULL;
 }
 
+static int game_can_format_as_text_now(game_params *params)
+{
+    return TRUE;
+}
+
 static char *game_text_format(game_state *state)
 {
     return NULL;
@@ -1379,7 +1382,7 @@ const struct game thegame = {
     dup_game,
     free_game,
     FALSE, solve_game,
-    FALSE, game_text_format,
+    FALSE, game_can_format_as_text_now, game_text_format,
     new_ui,
     free_ui,
     encode_ui,