2 * list.c: List of puzzles.
8 * The available games can be most easily enumerated by searching
9 * for the line in each game source file saying "#define thegame
10 * <gamename>". Hence, the following piece of shell/Perl should
11 * regenerate this list automatically:
13 perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print "extern const game $1;\n"' *.c
14 echo -e '\nconst game *gamelist[] = {'
15 perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print " &$1,\n"' *.c
16 echo -e '};\n\nconst int gamecount = lenof(gamelist);'
20 extern const game cube
;
21 extern const game fifteen
;
22 extern const game flip
;
23 extern const game guess
;
24 extern const game mines
;
25 extern const game net
;
26 extern const game netslide
;
27 extern const game pattern
;
28 extern const game pegs
;
29 extern const game rect
;
30 extern const game samegame
;
31 extern const game sixteen
;
32 extern const game solo
;
33 extern const game twiddle
;
35 const game
*gamelist
[] = {
52 const int gamecount
= lenof(gamelist
);