}
}
+ sfree(dsf);
+ sfree(list);
+ sfree(tried_merge);
sfree(board2);
*rtx = tx;
* End of solver/generator code.
*/
-static char *new_game_desc(game_params *params, random_state *rs,
+static char *new_game_desc(const game_params *params, random_state *rs,
char **aux, int interactive)
{
int w = params->w, h = params->h, wh = w*h;
return ret;
}
-static char *validate_desc(game_params *params, char *desc)
+static char *validate_desc(const game_params *params, char *desc)
{
int w = params->w, h = params->h, wh = w*h;
int *active, *link;
- int mains = 0, mpos = -1;
+ int mains = 0;
int i, tx, ty, minmoves;
char *ret;
link[i] = -1;
if (strchr("mM", c) != NULL) {
mains++;
- mpos = i;
}
i++;
}
int started;
};
-static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
- int x, int y, int button)
+static char *interpret_move(game_state *state, game_ui *ui,
+ const game_drawstate *ds, int x, int y, int button)
{
int w = state->w, h = state->h, wh = w*h;
int tx, ty, i, j;
return 0.0F;
}
+static int game_status(game_state *state)
+{
+ return state->completed ? +1 : 0;
+}
+
static int game_timing_state(game_state *state, game_ui *ui)
{
return TRUE;
}
#ifdef COMBINED
-#define thegame nullgame
+#define thegame slide
#endif
const struct game thegame = {
game_redraw,
game_anim_length,
game_flash_length,
+ game_status,
FALSE, FALSE, game_print_size, game_print,
TRUE, /* wants_statusbar */
FALSE, game_timing_state,
game_state *s;
char *id = NULL, *desc, *err;
int count = FALSE;
- int ret, really_verbose = FALSE;
+ int ret;
int *moves;
while (--argc > 0) {
char *p = *++argv;
+ /*
if (!strcmp(p, "-v")) {
- really_verbose = TRUE;
- } else if (!strcmp(p, "-c")) {
+ verbose = TRUE;
+ } else
+ */
+ if (!strcmp(p, "-c")) {
count = TRUE;
} else if (*p == '-') {
fprintf(stderr, "%s: unrecognised option `%s'\n", argv[0], p);