class SearchEngine
{
public:
SearchEngine(void);
virtual ~SearchEngine(void);
virtual void SearchAGoodMove() = 0;
void SetMaxDepth(const int in_iDepth);
void SetEveluateEngine(Chess_MoveTree* in_pcmtMove);
int GetBestID() { return m_iBestID; }
int GetNodeNum() { return m_iNodeNum; }
double GetBestValue() { return m_dBestValue; }
protected:
int m_iBestID;
double m_dBestValue;
int m_iMaxDepth;
Chess_MoveTree* m_pcmtMove;
int m_iNodeNum;
};
#include "SearchEngine.h"
SearchEngine::SearchEngine(void)
{
m_iMaxDepth = 3;
m_iBestID = 0;
m_dBestValue = 0;
m_pcmtMove = NULL;
}
SearchEngine::~SearchEngine(void)
{
m_pcmtMove = NULL;
}
void SearchEngine::SetEveluateEngine(Chess_MoveTree* in_pcmtMove)
{
m_pcmtMove = in_pcmtMove;
}
void SearchEngine::SetMaxDepth(const int in_iDepth)
{
m_iMaxDepth = in_iDepth;
}