]> git.sesse.net Git - stockfish/blobdiff - src/position.cpp
Introduce captured_piece()
[stockfish] / src / position.cpp
index a389e9c05a6e77d3892ae240b644a3ee730062e7..f24c2f2c0c3d72c1bb332b5589bdc71f6edd0781 100644 (file)
@@ -1673,6 +1673,7 @@ Value Position::compute_non_pawn_material(Color c) const {
 /// Position::is_draw() tests whether the position is drawn by material,
 /// repetition, or the 50 moves rule. It does not detect stalemates, this
 /// must be done by the search.
+// FIXME: Currently we are not handling 50 move rule correctly when in check
 
 bool Position::is_draw() const {
 
@@ -1686,7 +1687,7 @@ bool Position::is_draw() const {
       return true;
 
   // Draw by repetition?
-  for (int i = 2; i < Min(Min(gamePly, st->rule50), st->pliesFromNull); i += 2)
+  for (int i = 4; i <= Min(Min(gamePly, st->rule50), st->pliesFromNull); i += 2)
       if (history[gamePly - i] == st->key)
           return true;