TimeManager.cpp 956 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "TimeManager.h"
  2. #include "UciParser.h"
  3. void TimeManager::startInfiniteSearch(void)
  4. {
  5. }
  6. void TimeManager::stop(void)
  7. {
  8. }
  9. void TimeManager::join(void)
  10. {
  11. searchThread.join();
  12. }
  13. void TimeManager::startSearch(void)
  14. {
  15. startInfiniteSearch();
  16. }
  17. bool TimeManager::isRunning(void) const
  18. {
  19. return running;
  20. }
  21. void FixedSearchTimer::startSearch(void)
  22. {
  23. /*TimeManager::searchThread =
  24. std::thread{ &FixedSearchTimer::search, this };
  25. startPoint = std::chrono::steady_clock::now();*/
  26. startPoint = std::chrono::steady_clock::now();
  27. search();
  28. }
  29. void FixedSearchTimer::search(void)
  30. {
  31. chessy::Move best;
  32. int depth = 2;
  33. while (true) {
  34. //best = minimax.calculateBest(depth);
  35. ++depth;
  36. auto now = std::chrono::steady_clock::now();
  37. if ((now - startPoint) > thinkTime) {
  38. uci.sendCommand("bestmove", { best.asString() });
  39. break;
  40. }
  41. }
  42. }