#ifndef SRC_BOARD_H_ #define SRC_BOARD_H_ #include #include enum pieceType { NONE, PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING, }; const char toChar(pieceType type); struct Piece { bool color; pieceType type; bool moved; }; struct board { Piece pieces[64]; bool turn; // 1 white; 0 black std::string castle; uint8_t halfMoveClock; uint16_t MoveClock; }; struct Position { uint8_t rank; uint8_t file; bool operator==(const Position &) const = default; }; struct Move { Position From; Position To; bool operator==(const Move &) const = default; }; void printBoard(board *b); void setBoardFen(std::string fen, board *b); Piece createPiece(pieceType type, bool color, bool moved = false); void PlayMove(Move move, board *b); // TODO implement #endif /* SRC_BOARD_H_ */