General fast play in bughouse (#64)
authorFabian Fichter <ianfab@users.noreply.github.com>
Fri, 13 Mar 2020 16:26:29 +0000 (17:26 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Fri, 13 Mar 2020 17:08:04 +0000 (18:08 +0100)
Mainly affects play at longer time controls.

src/timeman.cpp

index a434502..9435b17 100644 (file)
@@ -125,8 +125,12 @@ void TimeManagement::init(const Position& pos, Search::LimitsType& limits, Color
       {
           if (Partner.partnerDead && Partner.opptime)
               hypMyTime -= Partner.opptime * 10;
-          else if (Partner.fast || Partner.partnerDead)
-              hypMyTime /= 4;
+          else
+          {
+              hypMyTime = std::min(hypMyTime, 5000 + std::min(std::abs(limits.time[us] - Partner.opptime * 10), TimePoint(Partner.opptime * 10)));
+              if (Partner.fast || Partner.partnerDead)
+                  hypMyTime /= 4;
+          }
       }
 
       hypMyTime = std::max(hypMyTime, TimePoint(0));