|
|
|
@ -128,7 +128,6 @@ void filter_checked_moves(PieceType pt, std::array<PieceType, 120> *board, std::
|
|
|
|
|
PieceType my_king = is_white(pt)?PieceType::W_KING:PieceType::B_KING;
|
|
|
|
|
int my_king_pos = get_pos_of(my_king, board);
|
|
|
|
|
int attackers = 0;
|
|
|
|
|
std::cout << "PC: " << FANCY_CHESS_CHARS[pt] << "\nPos: " << my_king_pos << std::endl;
|
|
|
|
|
for (auto p_pn= pns->begin(); p_pn!=pns->end();){
|
|
|
|
|
if (get_castle_flag(*p_pn) == 1){
|
|
|
|
|
// If moved left
|
|
|
|
@ -159,13 +158,10 @@ void filter_checked_moves(PieceType pt, std::array<PieceType, 120> *board, std::
|
|
|
|
|
// This is for when the king is the same piece that is moving.
|
|
|
|
|
// If this is the case, reset to king position to the new position given by the get_to_sq() of the move.
|
|
|
|
|
if (pt == my_king){
|
|
|
|
|
std::cout << "King move!" << std::endl;
|
|
|
|
|
my_king_pos = get_to_sq(*p_pn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::cout << "Is " << POSITION_STRING[my_king_pos] << " in check?" <<std::endl;
|
|
|
|
|
if (is_checked(my_king_pos, moved_board)){
|
|
|
|
|
std::cout << "...yes :)" << std::endl;
|
|
|
|
|
p_pn = pns->erase(p_pn);
|
|
|
|
|
} else {
|
|
|
|
|
++p_pn;
|
|
|
|
|