Oops. Just noticed that the Windows front end completely ignores the
[sgt/puzzles] / list.c
CommitLineData
19ef4855 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
13perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print "extern const game $1;\n"' *.c
14echo -e '\nconst game *gamelist[] = {'
15perl -ne '/^#define thegame (\S+)/ and $1 ne "nullgame" and print " &$1,\n"' *.c
16echo -e '};\n\nconst int gamecount = lenof(gamelist);'
17
18 */
19
20extern const game cube;
21extern const game fifteen;
22extern const game net;
23extern const game netslide;
24extern const game pattern;
25extern const game rect;
26extern const game sixteen;
27
28const game *gamelist[] = {
29 &cube,
30 &fifteen,
31 &net,
32 &netslide,
33 &pattern,
34 &rect,
35 &sixteen,
36};
37
38const int gamecount = lenof(gamelist);