X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fposition.cpp;h=5e0924830740a81a4b09262ac433b9f425d41fbd;hb=74fd57220e4e5a214761adc2d12335a12bef56f3;hp=f0d15d734aa0c2625dacaa3210c9480835911fc8;hpb=4397e6c03e72881a0a477c61c7d17c040c6fdb92;p=stockfish diff --git a/src/position.cpp b/src/position.cpp index f0d15d73..5e092483 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -235,7 +235,7 @@ const std::string Position::to_fen() const { fen += (char)skip + '0'; skip = 0; } - fen += pieceLetters[piece_on(sq)]; + fen += pieceLetters[piece_on(sq)]; } if (skip > 0) fen += (char)skip + '0'; @@ -327,7 +327,7 @@ Bitboard Position::hidden_checks(Color c, Square ksq) const { Square s; Bitboard sliders, result = EmptyBoardBB; - + if (Piece == ROOK) // Resolved at compile time sliders = rooks_and_queens(FindPinned ? opposite_color(c) : c) & RookPseudoAttacks[ksq]; else @@ -338,7 +338,7 @@ Bitboard Position::hidden_checks(Color c, Square ksq) const { // King blockers are candidate pinned pieces Bitboard candidate_pinned = piece_attacks(ksq) & pieces_of_color(c); - // Pinners are sliders, not checkers, that give check when + // Pinners are sliders, not checkers, that give check when // candidate pinned are removed. Bitboard pinners = (FindPinned ? sliders & ~checkersBB : sliders); @@ -410,7 +410,6 @@ bool Position::piece_attacks_square(Square f, Square t) const { case WR: case BR: return piece_attacks_square(f, t); case WQ: case BQ: return piece_attacks_square(f, t); case WK: case BK: return piece_attacks_square(f, t); - default: return false; } return false; } @@ -564,14 +563,14 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const { switch (type_of_piece_on(from)) { case PAWN: - + if (bit_is_set(pawn_attacks(them, ksq), to)) // Normal check? return true; - + if ( bit_is_set(dcCandidates, from) // Discovered check? && (direction_between_squares(from, ksq) != direction_between_squares(to, ksq))) return true; - + if (move_promotion(m)) // Promotion with check? { Bitboard b = occupied_squares(); @@ -607,7 +606,7 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const { } return false; - case KNIGHT: + case KNIGHT: return bit_is_set(dcCandidates, from) // Discovered check? || bit_is_set(piece_attacks(ksq), to); // Normal check? @@ -621,7 +620,7 @@ bool Position::move_is_check(Move m, Bitboard dcCandidates) const { case QUEEN: // Discovered checks are impossible! - assert(!bit_is_set(dcCandidates, from)); + assert(!bit_is_set(dcCandidates, from)); return bit_is_set(piece_attacks(ksq), to); // Normal check? case KING: @@ -1337,7 +1336,6 @@ void Position::undo_castle_move(Move m) { // Position::undo_move. In particular, the side to move has been switched, // so the code below is correct. Color us = side_to_move(); - Color them = opposite_color(us); // Find source squares for king and rook Square kfrom = move_from(m); @@ -1396,7 +1394,7 @@ void Position::undo_castle_move(Move m) { /// Position::do_move, is used to put back the captured piece (if any). void Position::undo_promotion_move(Move m, const UndoInfo &u) { - + Color us, them; Square from, to; PieceType capture, promotion; @@ -1629,16 +1627,16 @@ int Position::see(Square from, Square to) const { | (pawn_attacks(WHITE, to) & pawns(BLACK)) | (pawn_attacks(BLACK, to) & pawns(WHITE)); - attackers &= occ; // Re-add removed piece - // If the opponent has no attackers, we are finished if ((attackers & pieces_of_color(them)) == EmptyBoardBB) return seeValues[capture]; + attackers &= occ; // Remove the moving piece + // The destination square is defended, which makes things rather more // difficult to compute. We proceed by building up a "swap list" containing // the material gain or loss at each stop in a sequence of captures to the - // destianation square, where the sides alternately capture, and always + // destination square, where the sides alternately capture, and always // capture with the least valuable piece. After each capture, we look for // new X-ray attacks from behind the capturing piece. int lastCapturingPieceValue = seeValues[piece]; @@ -2249,7 +2247,7 @@ bool Position::is_ok(int* failedStep) const { { if (mgValue != compute_mg_value()) return false; - + if (egValue != compute_eg_value()) return false; }