📄 minedlg.h
字号:
// MineDlg.h : header file
//
#if !defined(AFX_MINEDLG_H__FC953A4E_A83A_47EF_960E_8E61B7117341__INCLUDED_)
#define AFX_MINEDLG_H__FC953A4E_A83A_47EF_960E_8E61B7117341__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "LED.h" //必须包含了LED类的头函数,以下才能识别CLED m_MineCounter
/////////////////////////////////////////////////////////////////////////////
// CMineDlg dialog
#define MINE 111 //雷
#define EMPTY 100 //空格
#define UNOPENED 10 //未揭示
#define OPENED 11 //已揭示
#define WRONG 111 //出错
#define FLAG 112 //红旗标志
#define QUESTION 113 //问号标志
////////////////////////////////////////////////////////////////
#define BARHEIGHT 30 //固定的显示栏高度
#define DEFAULT_WIDTH 9 //默认宽度
#define DEFAULT_HEIGHT 9 //默认高度
#define DEFAULT_MINENUM 10 //默认雷数
#define BUTTONWIDE 24 //主控件宽
#define BUTTONHEIGHT 24 //主控件高
/*class STATE
{
public:
BOOL IsMine;//是否为雷
BOOL IsNull;//是否为空
int Number;//数字(周围雷数)
BOOL IsOpened;//是否揭示
BOOL IsWrong;//是否出错
BOOL IsQuestion;//是否为问号
BOOL IsFlag;//是否为红旗
//构造函数
STATE()
{
IsMine = FALSE;
IsNull = FALSE;
Number = 0;
IsOpened = FALSE;
IsWrong = FALSE;
IsQuestion = FALSE;
IsFlag = FALSE;
}
};*/
////////////////////////////////////////////////////////////////////////
class CMineDlg : public CDialog
{
// Construction
public:
BOOL AutoFinish();
void PaintControlBar();
void InitControlBar();
void ChainReaction(int,int);
void SetMine();
void PaintClient();
void InitWindow();
void InitVariables();
CMineDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CMineDlg)
enum { IDD = IDD_MINE_DIALOG };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMineDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CMineDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnAbout();
afx_msg void OnFileLow();
afx_msg void OnFileMid();
afx_msg void OnFileHigh();
afx_msg void OnFileExit();
afx_msg void OnClose();
afx_msg void OnFileBegin();
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnTimer(UINT nIDEvent);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int m_ClientWidth; //客户区宽度
int m_ClientHeight; //客户区高度
int m_BarHeight; //显示区高度
int m_iFrameWidth; //非客户区宽度
int m_iFrameHeight; //非客户区高度
CRect m_MineRect; //雷区
int m_WideNum; //行数
int m_HighNum; //列数
int m_MineNum; //雷数
int m_MineLeft; //剩余雷数
CArray<int,int> m_SetState; //设置状态
CArray<int,int> m_OpenState; //揭示状态
BOOL IsGameFinished;//游戏结束标志
BOOL m_FirstBlick;
CBitmapButton* m_MainButton; //主控件指针
CLED* m_MineCounter;
CLED* m_Timer;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MINEDLG_H__FC953A4E_A83A_47EF_960E_8E61B7117341__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -