From 13d8af18527c325177393e1c918704e2962e77b3 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Fri, 20 May 2011 06:57:20 +0100 Subject: [PATCH 1/1] Correctly handle castle in see() Suggested by Onno. Signed-off-by: Marco Costalba --- src/position.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/position.cpp b/src/position.cpp index 59c3a8c3..b254d60b 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1513,6 +1513,12 @@ int Position::see(Move m) const { assert(move_is_ok(m)); + // As castle moves are implemented as capturing the rook, they have + // SEE == RookValueMidgame most of the times (unless the rook is under + // attack). + if (move_is_castle(m)) + return 0; + from = move_from(m); to = move_to(m); capturedType = type_of_piece_on(to); -- 2.39.2