www.pudn.com > fivesource.zip > Game.h
#ifndef GAME_H #define GAME_H #include#include #include #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 ///////////////////////////////////////////////////////////////////////////// // CFive used for app 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 FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE]; static CList StepList; static CList TempDeepList; int CurDeep; int CurThreadDeep; int CurBreadth; double CurCount; char CurSide; CList CountList; CList DeepList; public: enum LEVE { COUNT_INC, //使参数方分数增加最多 COUNT_SUB, //使非参数方分数减少最多 COUNT_MID, //平均 }; protected: virtual int Dump( int Num,int Wflag ); virtual long SreachLine( char *Line,int Num,char Side ); virtual long SreachArea( char Area[][FIVE_MAX_LINE],char NF ); virtual void CalRun( char Nf,LEVE leve ); virtual void ThreadRun(); void AddDeepList( Step step ); Step GetLastDeepList(); double GetStepCount(); public: CEvent EndEvent; CFive( char side = 'B' ); CFive( char side,int deep,int breadth,int threaddeep ); ~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 WzqRun( int &m,int &n ); void Serialize( CArchive& ar ); BOOL InitInstance(); DECLARE_SERIAL( CFive ) }; #endif