summaryrefslogtreecommitdiff
path: root/chess.h
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2022-12-08 23:19:42 -0800
committerKai Stevenson <kai@kaistevenson.com>2022-12-08 23:19:42 -0800
commit972363ca92691f289d32ac5cc787aa1b354da234 (patch)
treefec63d375f56b846887fcd8415fc3f81559e27db /chess.h
parent40667c9adde27cebdc8bbe9a6ab60f231bc2dfd7 (diff)
started castling. need to implement struct to support rook move and king move at the same time
Diffstat (limited to 'chess.h')
-rw-r--r--chess.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/chess.h b/chess.h
new file mode 100644
index 0000000..1d88a6e
--- /dev/null
+++ b/chess.h
@@ -0,0 +1,17 @@
+#include "vector.h"
+#include "console.h"
+#include "chesshelpers.h"
+#ifndef CHESS
+#define CHESS
+vectorp_t get_pawn_moves(board_t board, vector_t position, int color);
+vectorp_t get_knight_moves(board_t board, vector_t position, int color);
+vectorp_t get_bishop_moves(board_t board, vector_t position, int color);
+vectorp_t get_rook_moves(board_t board, vector_t position, int color);
+vectorp_t get_queen_moves(board_t board, vector_t position, int color);
+vectorp_t get_king_moves(board_t board, vector_t position, int color);
+vectorp_t get_moves(board_t board, vector_t position, piece_t piece);
+vectorpp_t get_all_moves(board_t board, int color, int excludeKing);
+vector_t get_king_position(board_t board, int color);
+int is_in_check(board_t board, int color);
+vectorp_t get_moves_final(board_t board, vector_t position, piece_t piece);
+#endif