#ifndef SRC_MOVES_H_ #define SRC_MOVES_H_ #include "board/board.hpp" #include #include enum move_generate_options : std::uint8_t { ALL, CAPTUARES_ONLY, NON_CAPTUARES_ONLY, }; std::vector GetLegalMoves(Game *g, const move_generate_options &options); std::vector GetPseudoLegalMoves(const Game &g, const move_generate_options &options); Position IndexToPosition(int i); bool IsSquareAttacked(const Game &g, Position square, bool byColor); GameState GetNewGameState(Game *g); #endif /* SRC_MOVES_H_ */