summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d104475)
the back end function solve_game() now takes the _current_
game_state in addition to the initial one.
git-svn-id: svn://svn.tartarus.org/sgt/puzzles@5969
cda61777-01e9-0310-a592-
d414129be87e
15 files changed:
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
{
game_state *ret = dup_game(state);
int i;
{
game_state *ret = dup_game(state);
int i;
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
return "No game set up to solve"; /* _shouldn't_ happen! */
msg = "Solve operation failed"; /* game _should_ overwrite on error */
return "No game set up to solve"; /* _shouldn't_ happen! */
msg = "Solve operation failed"; /* game _should_ overwrite on error */
- s = me->ourgame->solve(me->states[0].state, me->aux_info, &msg);
+ s = me->ourgame->solve(me->states[0].state,
+ me->states[me->statepos-1].state,
+ me->aux_info, &msg);
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
{
/*
* Simply expose the entire grid as if it were a completed
{
/*
* Simply expose the entire grid as if it were a completed
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
-static game_state *solve_game(game_state *state, game_aux_info *ai,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *ai, char **error)
game_state *(*dup_game)(game_state *state);
void (*free_game)(game_state *state);
int can_solve;
game_state *(*dup_game)(game_state *state);
void (*free_game)(game_state *state);
int can_solve;
- game_state *(*solve)(game_state *state, game_aux_info *aux, char **error);
+ game_state *(*solve)(game_state *orig, game_state *curr,
+ game_aux_info *aux, char **error);
int can_format_as_text;
char *(*text_format)(game_state *state);
game_ui *(*new_ui)(game_state *state);
int can_format_as_text;
char *(*text_format)(game_state *state);
game_ui *(*new_ui)(game_state *state);
-static game_state *solve_game(game_state *state, game_aux_info *ai,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *ai, char **error)
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
{
game_state *ret = dup_game(state);
int i;
{
game_state *ret = dup_game(state);
int i;
-static game_state *solve_game(game_state *state, game_aux_info *ai,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *ai, char **error)
{
game_state *ret;
int c = state->c, r = state->r, cr = c*r;
{
game_state *ret;
int c = state->c, r = state->r, cr = c*r;
-static game_state *solve_game(game_state *state, game_aux_info *aux,
- char **error)
+static game_state *solve_game(game_state *state, game_state *currstate,
+ game_aux_info *aux, char **error)
{
game_state *ret = dup_game(state);
int i;
{
game_state *ret = dup_game(state);
int i;