James H has implemented a new `Tricky' difficulty level in Light Up:

a non-recursive level above Easy, which therefore moves the
recursive Hard mode further up still. Play-testing suggests that in
fact Tricky is often _harder_ than the old Hard mode, since the
latter had limited depth of recursion and would therefore spot
complex deductions only if it happened to start a recursion on the
right square; Tricky may be limited in the sophistication of its
complex deductions, but it never misses one, so its puzzles tend to
be hard all over.

Also in this checkin, a new source file `nullfe.c', containing all
the annoying stub functions required to make command-line solvers
link successfully. James wrote this for (the new) lightupsolver, and
I've used it to simplify the other stand-alone solvers.

[originally from svn r6254]
This commit is contained in:
Simon Tatham
2005-09-01 11:57:56 +00:00
parent 6992530a85
commit 94b36c11e0
10 changed files with 780 additions and 295 deletions

View File

@ -323,6 +323,20 @@ psdata *ps_init(FILE *outfile, int colour);
void ps_free(psdata *ps);
drawing *ps_drawing_api(psdata *ps);
/*
* combi.c: provides a structure and functions for iterating over
* combinations (i.e. choosing r things out of n).
*/
typedef struct _combi_ctx {
int r, n, nleft, total;
int *a;
} combi_ctx;
combi_ctx *new_combi(int r, int n);
void reset_combi(combi_ctx *combi);
combi_ctx *next_combi(combi_ctx *combi); /* returns NULL for end */
void free_combi(combi_ctx *combi);
/*
* Data structure containing the function calls and data specific
* to a particular game. This is enclosed in a data structure so