aboutsummaryrefslogtreecommitdiff
path: root/fifteen.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-05-02 10:12:26 +0000
committerSimon Tatham <anakin@pobox.com>2005-05-02 10:12:26 +0000
commit9e240e45df4929f77b1a088cffbf7aaa6050ed03 (patch)
tree9420f57fa6b3c64eda4197ca4a864203e8130936 /fifteen.c
parent3f9d88f3e742ead492a0f47062645f3c14654b1f (diff)
downloadpuzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.zip
puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.tar.gz
puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.tar.bz2
puzzles-9e240e45df4929f77b1a088cffbf7aaa6050ed03.tar.xz
Introduce the concept of a `game_aux_info' structure. This is
constructed at the same time as an internally generated game seed, so that it can preserve any interesting information known by the program at generation time but not physically contained within the text of the game seed itself. (Such as, for example, the solution.) Currently not used for anything yet, but it will be. [originally from svn r5729]
Diffstat (limited to 'fifteen.c')
-rw-r--r--fifteen.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fifteen.c b/fifteen.c
index 8439faa..e31843d 100644
--- a/fifteen.c
+++ b/fifteen.c
@@ -152,7 +152,8 @@ static int perm_parity(int *perm, int n)
return ret;
}
-static char *new_game_seed(game_params *params, random_state *rs)
+static char *new_game_seed(game_params *params, random_state *rs,
+ game_aux_info **aux)
{
int gap, n, i, x;
int x1, x2, p1, p2, parity;
@@ -267,6 +268,11 @@ static char *new_game_seed(game_params *params, random_state *rs)
return ret;
}
+void game_free_aux_info(game_aux_info *aux)
+{
+ assert(!"Shouldn't happen");
+}
+
static char *validate_seed(game_params *params, char *seed)
{
char *p, *err;
@@ -776,6 +782,7 @@ const struct game thegame = {
TRUE, game_configure, custom_params,
validate_params,
new_game_seed,
+ game_free_aux_info,
validate_seed,
new_game,
dup_game,