#ifndef SRC_MOVES_H_ #define SRC_MOVES_H_ #include "board.hpp" #include std::vector GetLegalMoves(Game *g); std::vector GetPseudoLegalMoves(Game *g); Position IndexToPosition(int i); void GenerateSlidingMoves(Game *g, int from, const std::array &directions, std::vector &moves); void GenerateKingMoves(Game *g, int from, std::vector &moves); void GenerateKnightMoves(Game *g, int from, std::vector &moves); void GeneratePawnMoves(Game *g, int from, std::vector &moves); bool IsSquareAttacked(Game *g, Position square, bool byWhite); #endif /* SRC_MOVES_H_ */