⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ai_kua.h

📁 搜索算法部分使用minmax递归
💻 H
字号:
// AI_kua.h: interface for the CAI_kua class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_AI_KUA_H__AF7F1525_EFCF_4077_8B85_88EC3FA588D6__INCLUDED_)
#define AFX_AI_KUA_H__AF7F1525_EFCF_4077_8B85_88EC3FA588D6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000




//////////////////////////////////////////////////////////////////////////////
//名称 :            CAI_kua类(继承与CHI)									//	
//																			//
//时间:             2003/11/25												//
//																			//		
//最后修改时间:		2003/11/25												//
//																			//
//版本:				1.0														//
//																			//
//开发者:			kua														//
//																			//
//功能:             实现人工智能(AI)										//	
//																			//
//补充信息:       	Evaluate() :评估函数				   					//		
//					MinMax()  : MinMax法搜索函数							//	
//																			//
//Copyrights:  kua 2003														//
//////////////////////////////////////////////////////////////////////////////




#include "HI.h"

class CAI_kua : public CHI  
{

	
	//有返回值的如无特殊注释,默认0:成功,1:失败
	

public:
	int EvaluatePosition2(int blackorwhite);
	int EvaluateDrop(int blackorwhite);
	void Initialize();															//从CPlyaer类中得到attribute[9][9]
	int Think(int turn,int depth,int EvaluateType);														//继承自CPlayer

	
	int SearchMax(int array[],int n);											//搜索数组中的最大值,返回数组元素最大值下标

	int EvaluateEnd(int blackorwhite);
	int EvaluateStable(int blackorwhite);	
	int EvaluatePosition(int blackorwhite);										//位置值法评估函数,给出当前局面下两种棋位置差值,positive为己方棋的种类。1:black 2: white
	
	int MakeMove(int m,int n,int positive,int attributecopy[9][9]);				// 执行第i个走法
	int GenerateMove(int AIrow[64],int AIcolumn[64],int positive);				// 产生当前局面下的所有可走着法
	int UnMakeMove(int attributecopy[9][9]);									//执行完MinMax之后返回执行前的每点的状态
		
	int MinMax(int depth,bool type,int positive,int situation,int alpha,int beta);					//MinMax法搜索棋盘,调用评估函数,给出这一步AI应走得最好的走好
	int Implementation(int depth,int type,int positive,int situation);			//实现MinMax搜索,返回当前局面下最好走子点的横纵坐标
	int ThinkPad(int depth,int type,int positive,int EvaluateType);									//AI实现函数,返回给judge类当前局面下最好的走子点,situation控制不同阶段不同评价方法
	CAI_kua();
	virtual ~CAI_kua();
	friend class COthelloView;													//COthelloView类为其友元类								
	

};



#endif // !defined(AFX_AI_KUA_H__AF7F1525_EFCF_4077_8B85_88EC3FA588D6__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -