summaryrefslogtreecommitdiff
path: root/src/bitboard.h
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-02-24 22:49:43 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-02-24 22:49:43 +0530
commit63fa6656749d1cdb6a54a001950048a9660f0d73 (patch)
tree39c7e0586c2ad761d65f56bdfd6c96f6bbfdccb9 /src/bitboard.h
parent9cd36deffadc4f5ab83f08c2999407b31354027e (diff)
pawn forward movement works?
Diffstat (limited to 'src/bitboard.h')
-rw-r--r--src/bitboard.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/bitboard.h b/src/bitboard.h
index b92d67f..a816ea6 100644
--- a/src/bitboard.h
+++ b/src/bitboard.h
@@ -28,11 +28,39 @@ enum {
BLACK_LONG_CASTLE,
};
+enum {
+ WHITE_TURN,
+ BLACK_TURN,
+};
+
+#define BITMASK_RANK_A 255ULL
+#define BITMASK_RANK_B 65280ULL
+#define BITMASK_RANK_C 16711680ULL
+#define BITMASK_RANK_D 4278190080ULL
+#define BITMASK_RANK_E 1095216660480ULL
+#define BITMASK_RANK_F 280375465082880ULL
+#define BITMASK_RANK_G 71776119061217280ULL
+#define BITMASK_RANK_H 18374686479671623680ULL
+#define BITMASK_COLM_1 72340172838076673ULL
+#define BITMASK_COLM_2 144680345676153346ULL
+#define BITMASK_COLM_3 289360691352306692ULL
+#define BITMASK_COLM_4 578721382704613384ULL
+#define BITMASK_COLM_5 1157442765409226768ULL
+#define BITMASK_COLM_6 2314885530818453536ULL
+#define BITMASK_COLM_7 4629771061636907072ULL
+#define BITMASK_COLM_8 9259542123273814144ULL
+
typedef struct {
bitboard_t bitboards[PIECE_TYPE_COUNT];
u8 castling;
-} position;
+ u8 turn;
+} position_t;
+
+position_t position_starting();
+void assert_valid_position(position_t position);
+bitboard_t whites(position_t position);
+bitboard_t blacks(position_t position);
-position starting_position();
+void print_bitboard(bitboard_t bitboard);
#endif // !BITBOARD_H