aboutsummaryrefslogtreecommitdiff
path: root/src/bitboards.hpp
blob: 7288f8a92bf03f2d8d0a7167413e4177262fcb20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef SRC_BITBOARDS_H_
#define SRC_BITBOARDS_H_

#include "board/board.hpp"
#include <cstdint>
#include <unordered_map>

struct BitBoards {
  uint64_t whitePawns;
  uint64_t whiteKnights;
  uint64_t whiteBishops;
  uint64_t whiteRooks;
  uint64_t whiteQueens;
  uint64_t whiteKing;

  uint64_t blackPawns;
  uint64_t blackKnights;
  uint64_t blackBishops;
  uint64_t blackRooks;
  uint64_t blackQueens;
  uint64_t blackKing;
};
struct UndoMoveBitboards {
  BitBoards board;

  bool oldTurn;
  bool oldCanEnpassant;
  Position oldEnPassant;

  bool OldWhiteCastleKing;
  bool OldWhiteCastleQueen;
  bool OldBlackCastleKing;
  bool OldBlackCastleQueen;

  int oldHalfMoveClock;
  int oldMoveClock;
  uint64_t ZobristKey;
  GameState oldState;
};
#endif /* SRC_BITBOARDS_H_ */