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

📄 state.h

📁 八数码问题求解
💻 H
字号:
// State.h: interface for the CState class.
//
//////////////////////////////////////////////////////////////////////
#define Right 1
#define Left 2
#define Up 3
#define Down 4

#if !defined(AFX_STATE_H__88ECDC6E_A5D9_41F3_87C7_724C920D3652__INCLUDED_)
#define AFX_STATE_H__88ECDC6E_A5D9_41F3_87C7_724C920D3652__INCLUDED_

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

class CState  
{
public:
	CState();
	virtual ~CState();
	
	int m_Depth;				//该状态在状态空间的深度
	int m_content[3][3];		//八数码问题中此状态中各个位置的数字
	BOOL m_BSelect;				//标志次状态是否是最佳路径上的一个状态
	//BOOL m_contentFlag[3][3];	//标志每个位置上的数字是否达到目标状态中的位置	
	CState * PreState;			//指向其先前结点的指针
	//CState *NextState;			//指向其后继结点的指针
	int EvalueResult;			//该状态的评价函数值
	int m_moveDirection;
	
	void  DrawState(CDC *pDC,CPoint StartPt,COLORREF  color);//在屏幕上在指定的位置画出该状态
	void  FindIndex(int Num,int &x,int &y);					//找到一个牌在该状态的位置,返回x,y
	BOOL CompareState(CState CurState,CState GoState);		//比较两个状态是否相同
	BOOL MoveLeft();
	BOOL MoveRight();
	BOOL MoveUp();
	BOOL MoveDown();

};

//typedef struct Node
//{
//	
//};

#endif // !defined(AFX_STATE_H__88ECDC6E_A5D9_41F3_87C7_724C920D3652__INCLUDED_)

⌨️ 快捷键说明

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