1 /*                              */
2 /* xemeraldia     ----- games.h */
3 /*                              */
4 
5 #define _GNU_SOURCE
6 
7 #include <time.h>
8 #include <stdlib.h>
9 #include <stdio.h>
10 
11 #include "graphics.h"
12 
13 #define LUCKY_NUMBER  1
14 
15 #define MOVE_LEFT    -1
16 #define MOVE_RIGHT    1
17 #define MOVE_DOWN     1
18 
19 #define CLOCKWIZE           1
20 #define COUNTER_CLOCKWIZE  -1
21 
22 
23 extern gboolean   gameover_flag;
24 extern long  sc, blocks, tmp_blocks, chain_step;
25 extern gboolean   paused;
26 extern gboolean   star_comes;
27 extern int   movedown_counter;
28 extern char *name, *programname;
29 extern int offset_down;
30 
31 extern const int  iRot_vx[4][3];
32 extern const int  iRot_vy[4][3];
33 extern const int  iCrChk[4][2];
34 
35 struct Board
36 {
37 	cellstatus_t blk;   /* blocks */
38 	cellsubstatus_t sub;   /* sub    */
39 	cellstatus_t chk;   /* check  */
40 };
41 extern struct Board board[BOARD_WIDTH + 2][BOARD_HEIGHT + 1];
42 
43 struct DropItem {
44 	cellstatus_t  col[3];
45 	int  rot;
46 	int  x, y;
47 	int blocknum;
48 };
49 extern struct DropItem  drop_i, next_i;
50 
51 #ifdef WIN32
52 #define WIN32_LEAN_AND_MEAN
53 #include <windows.h>
54 #define usleep(x) Sleep((x) * 1000)
55 #endif
56