diff options
Diffstat (limited to 'src/bitboard.h')
| -rw-r--r-- | src/bitboard.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/bitboard.h b/src/bitboard.h new file mode 100644 index 0000000..b92d67f --- /dev/null +++ b/src/bitboard.h @@ -0,0 +1,38 @@ +#ifndef BITBOARD_H +#define BITBOARD_H + +#include "ints.h" + +typedef u64 bitboard_t; + +enum { + WHITE_KING, + WHITE_QUEEN, + WHITE_ROOK, + WHITE_BISHOP, + WHITE_KNIGHT, + WHITE_PAWN, + BLACK_KING, + BLACK_QUEEN, + BLACK_ROOK, + BLACK_BISHOP, + BLACK_KNIGHT, + BLACK_PAWN, + PIECE_TYPE_COUNT, +}; + +enum { + WHITE_SHORT_CASTLE, + WHITE_LONG_CASTLE, + BLACK_SHORT_CASTLE, + BLACK_LONG_CASTLE, +}; + +typedef struct { + bitboard_t bitboards[PIECE_TYPE_COUNT]; + u8 castling; +} position; + +position starting_position(); + +#endif // !BITBOARD_H |
