📄 mygame.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 + -