version 1.4.35b
[polyglot.git] / square.h
1 \r
2 // square.h\r
3 \r
4 #ifndef SQUARE_H\r
5 #define SQUARE_H\r
6 \r
7 // includes\r
8 \r
9 #include "util.h"\r
10 \r
11 // defines\r
12 \r
13 #define SquareNb (16 * 12)\r
14 \r
15 #define FileA 0\r
16 #define FileB 1\r
17 #define FileC 2\r
18 #define FileD 3\r
19 #define FileE 4\r
20 #define FileF 5\r
21 #define FileG 6\r
22 #define FileH 7\r
23 \r
24 #define Rank1 0\r
25 #define Rank2 1\r
26 #define Rank3 2\r
27 #define Rank4 3\r
28 #define Rank5 4\r
29 #define Rank6 5\r
30 #define Rank7 6\r
31 #define Rank8 7\r
32 \r
33 #define SquareNone 0\r
34 \r
35 #define A1 0x24\r
36 #define B1 0x25\r
37 #define C1 0x26\r
38 #define D1 0x27\r
39 #define E1 0x28\r
40 #define F1 0x29\r
41 #define G1 0x2A\r
42 #define H1 0x2B\r
43 #define A2 0x34\r
44 #define B2 0x35\r
45 #define C2 0x36\r
46 #define D2 0x37\r
47 #define E2 0x38\r
48 #define F2 0x39\r
49 #define G2 0x3A\r
50 #define H2 0x3B\r
51 #define A3 0x44\r
52 #define B3 0x45\r
53 #define C3 0x46\r
54 #define D3 0x47\r
55 #define E3 0x48\r
56 #define F3 0x49\r
57 #define G3 0x4A\r
58 #define H3 0x4B\r
59 #define A4 0x54\r
60 #define B4 0x55\r
61 #define C4 0x56\r
62 #define D4 0x57\r
63 #define E4 0x58\r
64 #define F4 0x59\r
65 #define G4 0x5A\r
66 #define H4 0x5B\r
67 #define A5 0x64\r
68 #define B5 0x65\r
69 #define C5 0x66\r
70 #define D5 0x67\r
71 #define E5 0x68\r
72 #define F5 0x69\r
73 #define G5 0x6A\r
74 #define H5 0x6B\r
75 #define A6 0x74\r
76 #define B6 0x75\r
77 #define C6 0x76\r
78 #define D6 0x77\r
79 #define E6 0x78\r
80 #define F6 0x79\r
81 #define G6 0x7A\r
82 #define H6 0x7B\r
83 #define A7 0x84\r
84 #define B7 0x85\r
85 #define C7 0x86\r
86 #define D7 0x87\r
87 #define E7 0x88\r
88 #define F7 0x89\r
89 #define G7 0x8A\r
90 #define H7 0x8B\r
91 #define A8 0x94\r
92 #define B8 0x95\r
93 #define C8 0x96\r
94 #define D8 0x97\r
95 #define E8 0x98\r
96 #define F8 0x99\r
97 #define G8 0x9A\r
98 #define H8 0x9B\r
99 \r
100 #define Dark  0\r
101 #define Light 1\r
102 \r
103 // functions\r
104 \r
105 extern void square_init        ();\r
106 \r
107 extern bool square_is_ok       (int square);\r
108 \r
109 extern int  square_make        (int file, int rank);\r
110 \r
111 extern int  square_file        (int square);\r
112 extern int  square_rank        (int square);\r
113 extern int  square_side_rank   (int square, int colour);\r
114 \r
115 extern int  square_from_64     (int square);\r
116 extern int  square_to_64       (int square);\r
117 \r
118 extern bool square_is_promote  (int square);\r
119 extern int  square_ep_dual     (int square);\r
120 \r
121 extern int  square_colour      (int square);\r
122 \r
123 extern bool char_is_file       (int c);\r
124 extern bool char_is_rank       (int c);\r
125 \r
126 extern int  file_from_char     (int c);\r
127 extern int  rank_from_char     (int c);\r
128 \r
129 extern int  file_to_char       (int file);\r
130 extern int  rank_to_char       (int rank);\r
131 \r
132 extern bool square_to_string   (int square, char string[], int size);\r
133 extern int  square_from_string (const char string[]);\r
134 \r
135 #endif // !defined SQUARE_H\r
136 \r
137 // end of square.h\r
138 \r