chessmcu/Board.hpp
2025-07-30 21:48:16 -04:00

31 lines
603 B
C++

/*
* File: Board.hpp
* Author: amr
*
* Created on July 30, 2025, 9:20 PM
*/
#ifndef BOARD_HPP
#define BOARD_HPP
#include <vector>
#include <cstdint>
#include "Piece.hpp"
class Piece;
class Board {
private:
std::vector<std::vector<Piece *>> boardGrid;
public:
Board();
~Board();
void setupInitialPosition();
Piece *getPieceAt(int x, int y) const;
void movePiece(int fromX, int fromY, int toX, int toY);
bool isInBounds(int x, int y) const;
uint64_t serialBoard = 0xFFFF00000000FFFF; // opening position
void deserializeBoard(uint64_t incomingBoard);
};
#endif // BOARD_HPP