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

📄 game.h

📁 Documents and Settings
💻 H
字号:
////////////////////////////////////////////////////////////////////////////////////////////
// Hander file: game.h
//         Copyright( C ) 1997.5-1997.11
////////////////////////////////////////////////////////////////////////////////////////////
#ifndef GAME_H
#define GAME_H
#include <afxwin.h>
#include <afxtempl.h>
#include <afxmt.h>
#include <afxext.h>

#define FIVE_MAX_LINE 15

#define WZQ_I     2435
#define WZQ_PING  WZQ_I + 1
#define WZQ_ERROR WZQ_I + 2
#define WZQ_YOU   WZQ_I + 3
#define WZQ_RUN   WZQ_I + 4
#define WZQ_HAVE  WZQ_I + 5
#define WZQ_NOTHREAD  WZQ_I + 6

#define WZQ_B     'B'
#define WZQ_W     'W'
#define WZQ_N     'N'
///////////////////////////////////////////////////////////////////////////////////////////
// CFive 
	struct Step
	{
		int  m;
		int  n;
		char side;
	};

	struct Count
	{
		Step step;
		double count;
	};

class CFive:public CWinThread
{
protected:
///////////////////////////////////////////////////////////////////////////////////////////
// 平分参数
	static int WF1_1;
	static int WF1_2;
	static int WF1_3;
	static int WF1_4;
	static int WF0_1;
	static int WF0_2;
	static int WF0_3;
	static int WF0_4;
	static int WF2_3;
	static int WF2_4;
	static int WF5;
///////////////////////////////////////////////////////////////////////////////////////////
// 搜索参数

	static int  DeepMax;
	static int  ThreadDeepMax;
	static int  BreadthMax;
	static int  Delta;
	static char Side;

	static BOOL PlayStateFlags;
	static int  PlayIndex;

	static char FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE]; 
	static CList<Step,Step>   StepList;            //每一步的列表
	static CArray<int,int>    ImpList;
	static CList<Count,Count> OneCountList;

	static CEvent KillWzqRun;
	static CStatusBar *pInfo;
//////////////////////////////////////////////////////////////////////////////////////////
// 临时参数
    int    CurDeep;
	int    CurThreadDeep;
	int    CurBreadth;
	double CurCount;
	char   CurSide;
	CList<Count,Count> CountList;
	CList<Step,Step>   DeepList;
	static Count       PiShen;

public:
	enum LEVE
	   {  COUNT_INC,  //使参数方分数增加最多
		  COUNT_SUB,  //使非参数方分数减少最多
		  COUNT_MID,  //平均
		  COUNT_DELTA,
		  COUNT_ALPHA,
		};
	static long        MemoryCount;
	static int         ThreadCount;
	static long        JingDuCount;
	
protected:
////////////////////////////////////////////////////////////////////////////////////////////
// 平分机制
	int  Dump( int Num,int Wflag );
	long SreachLine( char *Line,int Num,char Side );
	long SreachArea( char  Area[][FIVE_MAX_LINE],char NF );
    void CalRun( char Nf,LEVE leve );
    BOOL BiTest( int& mm,int& nn );
	void ResumePlayState();
    void UpdatePlay();

///////////////////////////////////////////////////////////////////////////////////////////
//
	void ThreadRun();

	void    AddDeepList( Step step );
	Step    GetLastDeepList();
	double  GetStepCount();
public:
	CEvent  EndEvent;
///////////////////////////////////////////////////////////////////////////////////////////
// 初始化
	CFive();
protected:
	CFive( char side,int deep,int breadth,int threaddeep );
public:
	~CFive();
	void WzqInit( char side,BOOL flags = TRUE  );
///////////////////////////////////////////////////////////////////////////////////////////
// 参数设置
	void SetDump( int Num,int Wflag,int count );
	int  GetDump( int Num,int Wflag );
	void SetParam( int breadth,int deep,int thread,int delta );
	void GetParam( int& breadth,int& deep,int& thread,int& delta );
	int  WzqTest( int m,int n );
    int  WzqEndTest();
	int  WzqRun( int &m,int &n );
	char GetSubPosition( int m,int n );
	char GetSide();

	BOOL HuiOneStep();
	BOOL BackEndStep();
	BOOL BackOneStep();
	BOOL FowardOneStep();
	BOOL OneStep();

	void InListBox( CComboBox& box );
    int  GetCurStep(int&m,int&n);
	void KillWzqThread();
	void NoKillThread();
	void SetInfo( CStatusBar*p);
//////////////////////////////////////////////////////////////////////////////////////////
// 线程部分

	BOOL InitInstance();
	int  ExitInstance();
	void Serialize( CArchive& ar );
	DECLARE_SERIAL( CFive )
};

#endif

⌨️ 快捷键说明

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