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 | |
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; |
1d8e8ad8 |
27 | extern const game solo; |
19ef4855 |
28 | |
29 | const game *gamelist[] = { |
30 | &cube, |
31 | &fifteen, |
32 | &net, |
33 | &netslide, |
34 | &pattern, |
35 | &rect, |
36 | &sixteen, |
1d8e8ad8 |
37 | &solo, |
19ef4855 |
38 | }; |
39 | |
40 | const int gamecount = lenof(gamelist); |