📄 searchengine.h
字号:
// SearchEngine.h: interface for the CSearchEngine class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SEARCHENGINE_H__BB587890_EEF2_40F3_8DF0_6D90D3A45939__INCLUDED_)
#define AFX_SEARCHENGINE_H__BB587890_EEF2_40F3_8DF0_6D90D3A45939__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "MoveGenerator.h"
#include "Eveluation.h"
class CSearchEngine
{
public:
CSearchEngine();
virtual ~CSearchEngine();
virtual void SearchAGoodMove(BYTE position[10][9],int IsRed)=0;//博弈接口,为当前局面走出下一步
virtual SetSearchDepth(int nDepth){m_nSearchDepth = nDepth;};//设定最大搜索深度
virtual SetEveluator(CEveluation *pEval){m_pEval = pEval;};//设定估值引擎
virtual SetMoveGenerator(CMoveGenerator *pMG){m_pMG = pMG;};//设定走法产生器
protected:
virtual BYTE MakeMove(CHESSMOVE* move);//根据某一走法产生走了之后的棋盘
virtual void UnMakeMove(CHESSMOVE* move,BYTE type);//恢复某一走法所产生棋盘为走过之前的
virtual int IsGameOver(BYTE position[10][9], int nDepth);//用于判断当前局面是否已分出胜负
BYTE CurPosition[10][9]; //搜索时用于当前节点棋盘状态的数组
CHESSMOVE m_cmBestMove; //记录最佳走法的变量
CMoveGenerator *m_pMG; //走法产生器指针
CEveluation *m_pEval;//估值核心指针
int m_nSearchDepth;//最大搜索深度
int m_nMaxDepth;//当前搜索的最大搜索深度
};
#endif // !defined(AFX_SEARCHENGINE_H__BB587890_EEF2_40F3_8DF0_6D90D3A45939__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -