eightnums1.h

来自「利用VC开发的一个八数码程序」· C头文件 代码 · 共 58 行

H
58
字号
// EIGHTNUMS1.h: interface for the CEIGHTNUMS class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_EIGHTNUMS1_H__BC15E0B5_D790_4609_9731_C69332AB48B5__INCLUDED_)
#define AFX_EIGHTNUMS1_H__BC15E0B5_D790_4609_9731_C69332AB48B5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "afxcoll.h"
typedef struct NightNumstate{
	int curdistance;
	int state[3][3];
	struct NightNumstate *laststate;
	struct NightNumstate *nextstate;
}NightProState;


class CEIGHTNUMS  
{
	public:
	//初始状态
	NightProState IniState;   
	//目标状态
	NightProState ObjState;
	//当前状态
	NightProState CurState;
	//建立Open表
	CPtrList Openlist;
	//建立Close表
	CPtrList Closelist;
	//建立保存结果表
	CPtrList ResultList;
	NightProState *currentstep;

public:
	
	bool MoveLeft(NightProState *cur,NightProState *obj);
	bool MoveRight(NightProState *cur,NightProState *obj);
	bool MoveUp(NightProState *cur,NightProState *obj);
	bool MoveDown(NightProState *cur,NightProState *obj);
	bool Compare(NightProState *cur1,NightProState *cur2);
	int CompareFunction(NightProState *cur,NightProState *dest);
	bool Search();
	void FreeList(CPtrList *list);
	void CopyNightNum(NightProState *cur,NightProState *dest);
	int ComputeJiOu(NightProState *Jiou);
	//m_sbdepth=10000;
//	bool m_binidown;
//	bool m_bobjdown;
	CEIGHTNUMS();
	virtual ~CEIGHTNUMS();

};

#endif // !defined(AFX_EIGHTNUMS1_H__BC15E0B5_D790_4609_9731_C69332AB48B5__INCLUDED_)

⌨️ 快捷键说明

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