3 * D[1-4], the seasons, appear only once
4 * F[1-4], the flowers, appear only once
5 * everything else appears 4 times
8 A1 = 0, A2, A3, A4, A5, A6, A7, A8, A9,
9 B1, B2, B3, B4, B5, B6, B7, B8, B9,
10 C1, C2, C3, C4, C5, C6, C7, C8, C9,
11 D1, D2, D3, D4, E1, E2, E3, E4,
12 F1, F2, F3, F4, G1, G2, G3,
18 /* level-specific enums */
21 TileDxy = 6, /* tile displacement when on a higher level */
27 /* the size of a complete tile */
31 /* only the face part */
35 /* and the entire window, giving room for 5*6 = 30 pixels
36 * that are needed for the higher tiles
38 Sizex = Lx*Facex/2 + 2*Bord,
39 Sizey = Ly*Facey/2 + 2*Bord,
42 /* which part of a tile */
52 Point start; /* where is this brick in the tileset */
66 Brick board[Depth][Lx][Ly]; /* grid of quarter tiles */
67 Click c; /* player has a brick selected */
68 Click l; /* mouse-over-brick indicator */
74 Level level; /* the level played */
75 Level orig; /* same, sans modifications */
77 Image *img; /* buffer */
89 Click Cl(int d, int x, int y);
91 Brick *bmatch(Click c);
93 Click cmatch(Click c, int dtop);
94 int eqcl(Click c1, Click c2);
98 void clearlevel(void);
102 void drawlevel(void);
109 Image *eallocimage(Rectangle, int, uint, uint);
110 char *genlevels(int);
113 void generate(uint seed);