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