Chess Engine
C++ chess engine with movegen, bitboards, and Arduino-friendly docs
|
Go to the source code of this file.
Classes | |
struct | S_MOVE |
struct | S_MOVELIST |
struct | S_HASHENTRY |
struct | S_HASHTABLE |
struct | S_UNDO |
struct | S_BOARD |
struct | S_SEARCHINFO |
struct | S_OPTIONS |
Macros | |
#define | MAX_HASH 1024 |
#define | ASSERT(n) |
#define | NAME "Vice 1.1" |
#define | BRD_SQ_NUM 120 |
#define | MAXGAMEMOVES 2048 |
#define | MAXPOSITIONMOVES 256 |
#define | MAXDEPTH 64 |
#define | START_FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" |
#define | INF_SCORE 30000 |
#define | ISMATE (INF_SCORE - MAXDEPTH) |
#define | FROMSQ(m) |
#define | TOSQ(m) |
#define | CAPTURED(m) |
#define | PROMOTED(m) |
#define | MFLAGEP 0x40000 |
#define | MFLAGPS 0x80000 |
#define | MFLAGCA 0x1000000 |
#define | MFLAGCAP 0x7C000 |
#define | MFLAGPROM 0xF00000 |
#define | NOMOVE 0 |
#define | FR2SQ(f, r) |
#define | SQ64(sq120) |
#define | SQ120(sq64) |
#define | CLRBIT(bb, sq) |
#define | SETBIT(bb, sq) |
#define | IsBQ(p) |
#define | IsRQ(p) |
#define | IsKn(p) |
#define | IsKi(p) |
#define | MIRROR64(sq) |
Typedefs | |
typedef unsigned long long | U64 |
Enumerations | |
enum | { EMPTY , wP , wN , wB , wR , wQ , wK , bP , bN , bB , bR , bQ , bK } |
enum | { FILE_A , FILE_B , FILE_C , FILE_D , FILE_E , FILE_F , FILE_G , FILE_H , FILE_NONE } |
enum | { RANK_1 , RANK_2 , RANK_3 , RANK_4 , RANK_5 , RANK_6 , RANK_7 , RANK_8 , RANK_NONE } |
enum | { WHITE , BLACK , BOTH } |
enum | { UCIMODE , XBOARDMODE , CONSOLEMODE } |
enum | { A1 = 21 , B1 , C1 , D1 , E1 , F1 , G1 , H1 , A2 = 31 , B2 , C2 , D2 , E2 , F2 , G2 , H2 , A3 = 41 , B3 , C3 , D3 , E3 , F3 , G3 , H3 , A4 = 51 , B4 , C4 , D4 , E4 , F4 , G4 , H4 , A5 = 61 , B5 , C5 , D5 , E5 , F5 , G5 , H5 , A6 = 71 , B6 , C6 , D6 , E6 , F6 , G6 , H6 , A7 = 81 , B7 , C7 , D7 , E7 , F7 , G7 , H7 , A8 = 91 , B8 , C8 , D8 , E8 , F8 , G8 , H8 , NO_SQ , OFFBOARD } |
enum | { FALSE , TRUE } |
enum | { WKCA = 1 , WQCA = 2 , BKCA = 4 , BQCA = 8 } |
enum | { HFNONE , HFALPHA , HFBETA , HFEXACT } |
#define ASSERT | ( | n | ) |
Definition at line 14 of file defs.h.
Referenced by AddBlackPawnCapMove(), AddBlackPawnMove(), AddCaptureMove(), AddEnPassantMove(), AddPiece(), AddQuietMove(), AddWhitePawnCapMove(), AddWhitePawnMove(), ClearPiece(), generateAllCaptures(), generateAllMoves(), generatePositionKeys(), initSquareIndexMaps(), isBoardStateValid(), isSquareAttacked(), loadFEN(), makeMove(), makeNullMove(), mirrorBoardPosition(), MovePiece(), parseMoveString(), Perft(), PerftTest(), takeMove(), takeNullMove(), and updateListsMaterial().
#define BRD_SQ_NUM 120 |
Definition at line 29 of file defs.h.
Referenced by generatePositionKeys(), InitFilesrankIndex120(), initSquareIndexMaps(), resetBoardState(), SqIs120(), SqOnBoard(), and updateListsMaterial().
#define CAPTURED | ( | m | ) |
Definition at line 166 of file defs.h.
Referenced by AddCaptureMove(), makeMove(), and takeMove().
#define CLRBIT | ( | bb, | |
sq ) |
Definition at line 184 of file defs.h.
Referenced by ClearPiece(), and MovePiece().
#define FR2SQ | ( | f, | |
r ) |
Definition at line 181 of file defs.h.
Referenced by InitFilesrankIndex120(), initSquareIndexMaps(), loadFEN(), parseMoveString(), ParseSquare2(), printBitBoard(), and printBoardState().
#define FROMSQ | ( | m | ) |
Definition at line 164 of file defs.h.
Referenced by AddCaptureMove(), AddEnPassantMove(), AddQuietMove(), LegalMovesFrom(), makeMove(), MatchDestinationMove(), MoveListOk(), moveToString(), parseMoveString(), and takeMove().
#define IsBQ | ( | p | ) |
Definition at line 187 of file defs.h.
Referenced by isSquareAttacked(), moveToString(), and parseMoveString().
#define IsKi | ( | p | ) |
#define IsKn | ( | p | ) |
Definition at line 189 of file defs.h.
Referenced by isSquareAttacked(), moveToString(), and parseMoveString().
#define IsRQ | ( | p | ) |
Definition at line 188 of file defs.h.
Referenced by isSquareAttacked(), moveToString(), and parseMoveString().
#define MAXDEPTH 64 |
Definition at line 33 of file defs.h.
Referenced by AddQuietMove(), makeMove(), makeNullMove(), takeMove(), and takeNullMove().
#define MAXGAMEMOVES 2048 |
Definition at line 31 of file defs.h.
Referenced by makeMove(), makeNullMove(), takeMove(), and takeNullMove().
#define MAXPOSITIONMOVES 256 |
Definition at line 32 of file defs.h.
Referenced by MoveListOk().
#define MFLAGCA 0x1000000 |
Definition at line 171 of file defs.h.
Referenced by generateAllMoves(), makeMove(), and takeMove().
#define MFLAGEP 0x40000 |
Definition at line 169 of file defs.h.
Referenced by generateAllCaptures(), generateAllMoves(), makeMove(), and takeMove().
#define MFLAGPS 0x80000 |
Definition at line 170 of file defs.h.
Referenced by generateAllMoves(), and makeMove().
#define MIRROR64 | ( | sq | ) |
#define NOMOVE 0 |
Definition at line 176 of file defs.h.
Referenced by makeNullMove(), MatchDestinationMove(), and parseMoveString().
#define PROMOTED | ( | m | ) |
Definition at line 167 of file defs.h.
Referenced by LegalMovesFrom(), makeMove(), MatchDestinationMove(), moveToString(), parseMoveString(), and takeMove().
#define SETBIT | ( | bb, | |
sq ) |
Definition at line 185 of file defs.h.
Referenced by AddPiece(), MovePiece(), and updateListsMaterial().
#define SQ120 | ( | sq64 | ) |
Definition at line 183 of file defs.h.
Referenced by initEvaluationMasks(), isBoardStateValid(), loadFEN(), mirrorBoardPosition(), and resetBoardState().
#define SQ64 | ( | sq120 | ) |
Definition at line 182 of file defs.h.
Referenced by AddPiece(), ClearPiece(), mirrorBoardPosition(), MovePiece(), printBitBoard(), and updateListsMaterial().
#define START_FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" |
#define TOSQ | ( | m | ) |
Definition at line 165 of file defs.h.
Referenced by AddCaptureMove(), AddEnPassantMove(), AddQuietMove(), LegalMovesFrom(), makeMove(), MatchDestinationMove(), MoveListOk(), moveToString(), parseMoveString(), and takeMove().
anonymous enum |
anonymous enum |
anonymous enum |