#include /* int32_t */ #include /* ptrdiff_t */ #include /* true, false, bool */ /** Type representing piece/tile on a chessboard */ typedef int32_t tile_t; /** Type representing index of a chessboard tile */ typedef ptrdiff_t index_t; #define BOARD_SIZE ((index_t)(8 * 8)) #define WHITE 1 #define BLACK -1 #define E ((tile_t)0) ///< empty tile #define K ((tile_t)1) ///< king #define Q ((tile_t)2) ///< queen #define R ((tile_t)3) ///< rook #define B ((tile_t)4) ///< bishop #define N ((tile_t)5) ///< knight #define P ((tile_t)6) ///< pawn #define ROW ((index_t)8) #define COL ((index_t)1)