#ifndef SRC_MOVES_H_ #define SRC_MOVES_H_ #include "board.hpp" #include #include struct Position { uint8_t rank; uint8_t file; }; struct Move { Position From; Position To; }; enum MoveResult { SUCCES, FRIENDLY_PIECE, PIECE_IN_WAY, }; MoveResult PlayMove(Move move, board *b); // TODO implement std::vector GetLegalMoves(board *b); Position IndexToPosition(int i); void GenerateSlidingMoves(board *b, int from, const std::array &directions, std::vector &moves); #endif /* SRC_MOVES_H_ */