14 const int BlackPawnFlag = 1 << 2;
\r
15 const int WhitePawnFlag = 1 << 3;
\r
16 const int KnightFlag = 1 << 4;
\r
17 const int BishopFlag = 1 << 5;
\r
18 const int RookFlag = 1 << 6;
\r
19 const int KingFlag = 1 << 7;
\r
21 const int PawnFlags = BlackPawnFlag | WhitePawnFlag;
\r
22 const int QueenFlags = BishopFlag | RookFlag;
\r
24 const int PieceNone64 = 0;
\r
25 const int BlackPawn64 = BlackPawnFlag;
\r
26 const int WhitePawn64 = WhitePawnFlag;
\r
27 const int Knight64 = KnightFlag;
\r
28 const int Bishop64 = BishopFlag;
\r
29 const int Rook64 = RookFlag;
\r
30 const int Queen64 = QueenFlags;
\r
31 const int King64 = KingFlag;
\r
33 const int PieceNone256 = 0;
\r
34 const int BlackPawn256 = BlackPawn64 | Black;
\r
35 const int WhitePawn256 = WhitePawn64 | White;
\r
36 const int BlackKnight256 = Knight64 | Black;
\r
37 const int WhiteKnight256 = Knight64 | White;
\r
38 const int BlackBishop256 = Bishop64 | Black;
\r
39 const int WhiteBishop256 = Bishop64 | White;
\r
40 const int BlackRook256 = Rook64 | Black;
\r
41 const int WhiteRook256 = Rook64 | White;
\r
42 const int BlackQueen256 = Queen64 | Black;
\r
43 const int WhiteQueen256 = Queen64 | White;
\r
44 const int BlackKing256 = King64 | Black;
\r
45 const int WhiteKing256 = King64 | White;
\r
47 const int BlackPawn12 = 0;
\r
48 const int WhitePawn12 = 1;
\r
49 const int BlackKnight12 = 2;
\r
50 const int WhiteKnight12 = 3;
\r
51 const int BlackBishop12 = 4;
\r
52 const int WhiteBishop12 = 5;
\r
53 const int BlackRook12 = 6;
\r
54 const int WhiteRook12 = 7;
\r
55 const int BlackQueen12 = 8;
\r
56 const int WhiteQueen12 = 9;
\r
57 const int BlackKing12 = 10;
\r
58 const int WhiteKing12 = 11;
\r
62 extern void piece_init ();
\r
64 extern bool piece_is_ok (int piece);
\r
66 extern int piece_make_pawn (int colour);
\r
67 extern int piece_pawn_opp (int piece);
\r
69 extern int piece_colour (int piece);
\r
70 extern int piece_type (int piece);
\r
72 extern bool piece_is_pawn (int piece);
\r
73 extern bool piece_is_knight (int piece);
\r
74 extern bool piece_is_bishop (int piece);
\r
75 extern bool piece_is_rook (int piece);
\r
76 extern bool piece_is_queen (int piece);
\r
77 extern bool piece_is_king (int piece);
\r
79 extern bool piece_is_slider (int piece);
\r
81 extern int piece_to_12 (int piece);
\r
82 extern int piece_from_12 (int piece);
\r
84 extern int piece_to_char (int piece);
\r
85 extern int piece_from_char (int c);
\r
87 extern bool char_is_piece (int c);
\r
89 #endif // !defined PIECE_H
\r