aboutsummaryrefslogtreecommitdiff
path: root/src/moves.hpp
blob: a957d3aa4ce7ac0e73464b8111ee11dfe3d54f1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef SRC_MOVES_H_
#define SRC_MOVES_H_

#include "board.hpp"
#include <vector>

std::vector<Move> GetLegalMoves(Board *b);
std::vector<Move> GetPseudoLegalMoves(Board *b);
Position IndexToPosition(int i);
void GenerateSlidingMoves(Board *b, int from,
                          const std::array<int, 4> &directions,
                          std::vector<Move> &moves);
void GenerateKingMoves(Board *b, int from, std::vector<Move> &moves);
void GenerateKningtMoves(Board *b, int from, std::vector<Move> &moves);
void GeneratePawnMoves(Board *b, int from, std::vector<Move> &moves);

#endif /* SRC_MOVES_H_ */