#ifndef __HEURISTIC_HPP__ #define __HEURISTIC_HPP__ namespace mcts { template <typename Game> class heuristic { public: virtual float get_value(const Game& game, uint8_t move) const = 0; virtual int get_count(const Game& game, uint8_t move) const = 0; virtual ~heuristic(){}; }; template <typename Game> class zero_knowledge : public heuristic<Game> { public: float get_value(const Game& game, uint8_t move) const { return 0.f; } int get_count(const Game& game, uint8_t move) const { return 1; } }; } #endif