From a28f4a56d31c9e7f7c5ce28a93e2b2b9ca9be5e5 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 25 Sep 2010 11:21:24 +0100 Subject: [PATCH] Fix handling of 50 move rule and remove a fixme Signed-off-by: Marco Costalba --- src/position.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index 8cc5fccd..cb63cf95 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1677,7 +1677,6 @@ 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 { @@ -1687,7 +1686,7 @@ bool Position::is_draw() const { return true; // Draw by the 50 moves rule? - if (st->rule50 > 100 || (st->rule50 == 100 && !is_check())) + if (st->rule50 > 99 && (st->rule50 > 100 || !is_mate())) return true; // Draw by repetition? -- 2.39.2