summaryrefslogtreecommitdiff
path: root/src/bitboard.h
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-02-20 17:04:46 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-02-20 17:04:46 +0530
commit9cd36deffadc4f5ab83f08c2999407b31354027e (patch)
treee298606fb938ac6aea26c408c3cd29ddf4b17f9c /src/bitboard.h
parentfd57b964e50a4cb3385976a473bc287d682bcbdb (diff)
some moves dynamic array setup & starting position
Diffstat (limited to 'src/bitboard.h')
-rw-r--r--src/bitboard.h38
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