2025-02-06 20:11:58 +01:00

30 lines
634 B
C++

#pragma once
#include "../board/board.hpp"
#include <atomic>
namespace ai {
struct AI {
std::atomic<bool> stop_computation = false;
virtual Move search(const Board&, bool = false) = 0;
virtual int eval(const Board&) = 0;
};
struct v0_random : public AI {
Move search(const Board&, bool) override;
int eval(const Board&) override {
return 0;
};
};
class v1_simple : public AI {
int _search(const Board&, int);
public:
Move search(const Board&, bool) override;
int eval(const Board&) override;
};
} // namespace ai