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

📄 mygame.h

📁 这是一个连连看的游戏源程序
💻 H
字号:
#if !defined(AFX_MYGAME_H__539C4BA7_BD0D_4673_9BE5_CCA7428457B2__INCLUDED_)
#define AFX_MYGAME_H__539C4BA7_BD0D_4673_9BE5_CCA7428457B2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MyGame.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CMyGame window

enum {EMPTY,EASY,NORMAL,HARD};		//无级别,初级,中级,高级 
enum {ALL,HALF0,HALF1} ;			//全区,上(左)半区,下(右)半区
enum {M_NO,M_DOWN,M_LEFT,M_UPDOWN,M_LEFTRIGHT,M_UPDOWN1,M_LEFTRIGHT1,
M_LEFTRIGHT2,M_UPDOWN2,M_OUT,M_IN,M_UP,M_RIGHT} ;
	//不变化,向下,向左,上下分离,左右分离,上下集中,左右集中,
	//上左下右,左下右上,向外扩散,向内集中,向上,向右

class CMyGame : public CWnd
{
// Construction
public:
	CMyGame();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMyGame)
	//}}AFX_VIRTUAL

// Implementation
public:
	BOOL m_GameOver;
	//总体变量
	int  m_Look;			//亮牌次数
	int  m_Prompt;			//提示次数
	int  m_Layer;			//第几关
	int  m_Score;			//得分
	int  m_Class;			//难易级别,EASY,NORMAL,HARD
	BOOL m_Pause;			//暂停标志
	BOOL m_SortAll;			//初始化分类标志:初级随机/中途重排
	int  m_xc, m_yc;		//图形窗口左上角
	int  m_dx, m_dy;		//小图形尺寸
	int  m_Ysize, m_Xsize;	//小图形纵横数
	//窗口参数
	int  m_ScreenHeight;	//窗口宽
	int  m_ScreenWidth;		//窗口高
	//当前数据
	int m_xw[4], m_yw[4];	//当前选取的图形,待检测是否有连线
							//四个时,用于进行自动检测时用
	int m_Data[16][9];		//当前数据
	int m_num;				//当前点击次数
	int m_Count;			//记录当前未除的图的成对数
	int m_Time;				//记录当前剩余时间
	//函数
	BOOL CheckLine(BOOL IsPrompt, int k, int k1);		
							//检测是否有连线
	void InitData();		//初始化数据
	void SetClass();		//初始化各级别数据
	BOOL TestAll();			//测试所有图间有无连线
	void ProcessNext();		//处理过关动作
	int  CompAward();		//计算过关奖金
	void ReInitData();		//重新排序
	void MoveGraph();		//消去后移动处理
	void TranToXY(int *x, int *y, int xw, int yw);
							//转换格子坐标(xw, yw)为(x,y)角点值
	void TranToXYCenter(int *x, int *y, int k);
							//转换格子坐标(xw, yw)为(x,y)中心值
	BOOL GetPoint(int x, int y);			
							//转换点坐标为图形位置坐标
	virtual ~CMyGame();

	// Generated message map functions
protected:
	//{{AFX_MSG(CMyGame)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void GetRand(int x[], int num);	//产生一组num个随机数组
	void SetPoint(BOOL IsPrompt, int x, int y);	
									//记录线的消除轨迹
	BOOL TestGraph();				//测试找出的最多四个点的相互是否有连线
	void FindValue(int no);			//找出所有最多四个no图暂放m_xw,m_yw中,m_num计数
	BOOL CheckLineY(int flag, int x, int y0, int y1);	//测试线段(x,y0)-(x,y1)连线
	BOOL CheckLineX(int flag, int x0, int x1, int y);	//测试线段(x0,y)-(x1,y)连线
	void MoveToRight(int xw, int yw, int AreaFlag);		//向右移动
	void MoveToLeft(int xw, int yw, int AreaFlag);		//向左移动
	void MoveToDown(int xw, int yw, int AreaFlag);		//向下移动
	void MoveToUp(int xw, int yw, int AreaFlag);		//向上移动
	void MoveToRight2(int AreaFlag);					//二点向右移动
	void MoveToLeft2(int AreaFlag);						//二点向左移动
	void MoveToDown2(int AreaFlag);						//二点向下移动
	void MoveToUp2(int AreaFlag);						//二点向上移动
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MYGAME_H__539C4BA7_BD0D_4673_9BE5_CCA7428457B2__INCLUDED_)

⌨️ 快捷键说明

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