-
Notifications
You must be signed in to change notification settings - Fork 0
/
BoardState.h
56 lines (41 loc) · 1.05 KB
/
BoardState.h
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#pragma once
#include <stdint.h>
class BoardState
{
public:
~BoardState();
uint8_t** getBoard();
void setBoard(uint8_t**);
void setCurrentTurn(char);
char getCurrentTurn();
bool getWhiteCanKingsideCastle();
void setWhiteCanKingsideCastle(bool);
bool getWhiteCanQueensideCastle();
void setWhiteCanQueensideCastle(bool);
bool getBlackCanKingsideCastle();
void setBlackCanKingsideCastle(bool);
bool getBlackCanQueensideCastle();
void setBlackCanQueensideCastle(bool);
int getDepth();
int getEnPassantX();
void setEnPassantX(int);
int getEnPassantY();
void setEnPassantY(int);
int getHalfMoveClock();
void setHalfMoveClock(int);
int getFullMoveClock();
void setFullMoveCLock(int);
static BoardState* copyBoardState(BoardState*);
private:
uint8_t** board;
char currentTurn;
bool whiteCanKingsideCastle;
bool whiteCanQueensideCastle;
bool blackCanKingsideCastle;
bool blackCanQueensideCastle;
int enPassantX;
int enPassantY;
int halfMoveClock;
int fullMoveClock;
int depth; //0 for main state, add 1 for eveyr move after it.
};