#define WHITE 0b0000 #define BLACK 0b0001 #define NO_COLOR 0b1110 char* COLORS[] = { "white", "black" }; #define EMPTY 0b0000 #define VISUAL 0b0001 #define PAWN 0b0010 #define KNIGHT 0b0100 #define BISHOP 0b0110 #define ROOK 0b1000 #define QUEEN 0b1010 #define KING 0b1100 char* pieces[] = { ".", "*", "♟︎", "♙", "♞", "♘", "♝", "♗", "♜", "♖", "♛", "♕", "♚", "♔", }; int bishopMoves[] = { 17, 15, -17, -15, 0 }; int rookMoves[] = { 16, 1, -1, -16, 0 }; int queenMoves[] = { 17, 16, 15, 1, -1, -15, -16, -17, 0 }; int knightMoves[] = { 33, 31, 18, 14, -33, -31, -18, -14, 0 }; int kingMoves[] = { 17, 16, 15, 1, -1, -15, -16, -17, 0 }; int pawnMoves[] = { 16, 0 }; int blackPawnMoves[] = { -16, 0 }; int pawnAttackMoves[] = { 17, 15, 0 }; int blackPawnAttackMoves[] = { -17, -15, 0 }; #define FILE_MASK 0b1111 #define DESTINATION_MASK 0b1111111