#include "types.h" #define WHITE 0b0000 #define BLACK 0b0001 #define PAWN 0b0000 #define KNIGHT 0b0010 #define BISHOP 0b0100 #define ROOK 0b0110 #define QUEEN 0b1000 #define KING 0b1010 typedef QWORD Bitboard; typedef struct { Bitboard pieces[12]; BYTE side; BYTE castling_rights; BYTE en_passant_square; } Board; static const char* pieces[] = { "♟︎", "♙", "♞", "♘", "♝", "♗", "♜", "♖", "♛", "♕", "♚", "♔", };