Chess Engine
C++ chess engine with movegen, bitboards, and Arduino-friendly docs
Loading...
Searching...
No Matches
board.h
Go to the documentation of this file.
1#pragma once
2
3#include "../defs.h"
4#include "../test./validate.h"
5
11extern bool isPieceListValid(const S_BOARD *pos);
12
18extern bool isBoardStateValid(const S_BOARD *pos);
19
24extern void updateListsMaterial(S_BOARD *pos);
25
32extern int loadFEN(char *fen, S_BOARD *pos);
33
38extern void resetBoardState(S_BOARD *pos);
39
44extern void printBoardState(const S_BOARD *pos);
45
50extern void mirrorBoardPosition(S_BOARD *pos);
bool isBoardStateValid(const S_BOARD *pos)
Performs a full internal consistency check of the board state.
Definition board.cpp:28
void resetBoardState(S_BOARD *pos)
Reset board to empty state.
Definition board.cpp:236
void mirrorBoardPosition(S_BOARD *pos)
Flip the board vertically, swapping colors and positions.
Definition board.cpp:301
int loadFEN(char *fen, S_BOARD *pos)
Parse a FEN string into the given board state.
Definition board.cpp:146
void updateListsMaterial(S_BOARD *pos)
Update piece lists, material counts, and pawn bitboards from scratch.
Definition board.cpp:112
bool isPieceListValid(const S_BOARD *pos)
Validate that piece list array is consistent with board state.
Definition board.cpp:12
void printBoardState(const S_BOARD *pos)
Print the board to stdout in a human-readable format.
Definition board.cpp:272