Ensure that an old random seed isn't left around for the user to see when a
[sgt/puzzles] / list.c
1 /*
2 * list.c: List of puzzles.
3 */
4
5 #include "puzzles.h"
6
7 /*
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:
12
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);'
17
18 */
19
20 extern const game cube;
21 extern const game fifteen;
22 extern const game net;
23 extern const game netslide;
24 extern const game pattern;
25 extern const game rect;
26 extern const game sixteen;
27 extern const game solo;
28 extern const game twiddle;
29
30 const game *gamelist[] = {
31 &cube,
32 &fifteen,
33 &net,
34 &netslide,
35 &pattern,
36 &rect,
37 &sixteen,
38 &solo,
39 &twiddle,
40 };
41
42 const int gamecount = lenof(gamelist);