diff options
| author | Aargh Rai <aargh.rai+git@gmail.com> | 2026-06-02 17:39:09 +0530 |
|---|---|---|
| committer | Aargh Rai <aargh.rai+git@gmail.com> | 2026-06-02 17:39:09 +0530 |
| commit | 058f12c699c9183f93f280ad7eb54c8a1b25f523 (patch) | |
| tree | f06f21c94666243b80a5823c3932349dba4ed3cc /src/engine/moves/king.c | |
| parent | df577a30f2df1d60a0254403147fd2077a7c8b42 (diff) | |
added move flags
will try stockfish later dw
Diffstat (limited to 'src/engine/moves/king.c')
| -rw-r--r-- | src/engine/moves/king.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/engine/moves/king.c b/src/engine/moves/king.c index 29bca79..e954ae5 100644 --- a/src/engine/moves/king.c +++ b/src/engine/moves/king.c @@ -7,11 +7,14 @@ void get_king_moves(moves_t* moves, position_t position) { bitboard_t friendly_king; int king_square; bitboard_t friendly_pieces; + bitboard_t enemy_pieces; if (position.turn == WHITE_TURN) { friendly_pieces = whites(position); + enemy_pieces = blacks(position); friendly_king = position.bitboards[WHITE_KING]; } else { friendly_pieces = blacks(position); + enemy_pieces = whites(position); friendly_king = position.bitboards[BLACK_KING]; } king_square = __builtin_ctzll(friendly_king); @@ -32,7 +35,12 @@ void get_king_moves(moves_t* moves, position_t position) { while (movement) { int to = __builtin_ctzll(movement); movement &= movement - 1; - add_move(moves, king_square, to); + add_move( + moves, + king_square, + to, + .flags = ((enemy_pieces >> to) & 1) ? MOVE_CAPTURE : 0, + ); } } |
