📄 texiccb.h
字号:
// TExicKJ.h: interface for the TExicKJ class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TEXICCB_H__88B4E241_7480_11D6_A9BC_0020EDA78BC0__INCLUDED_)
#define AFX_TEXICCB_H__88B4E241_7480_11D6_A9BC_0020EDA78BC0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "TExic.h"
enum
{
S_Null,//未按
S_Open,//打开
S_Mark,//旗
S_Down,//压下,等待打开
S_Test,//作弊
N_X=60,N_Y=48
};
struct SQ
{
unsigned int mine:1;
unsigned int state:3;
};
class TData
{
public:
int Mine();//地雷数
int W(),H();
SQ d[N_X][N_Y];
void Reset();
TData();
SQ& GetD(int x,int y);
SQ& GetD(int i);
int Getint(int x,int y);//应该显示的数字
int GetMark(int x,int y);//周围已标志的数量
bool IsState(unsigned int state,int x,int y);
bool IsState(unsigned int state,int i);
bool IsMine(int x,int y);
bool IsNumb(int x,int y);
bool Inside(int x,int y);
int GetReset();//返回示标志地雷数
bool OK();//全部打开
void MarkAll();//是地雷的全部标志
};
class TExicCB:public TExic
{
// Attributes
public:
TData m_Data;
HPEN m_penBlack,m_penWhite;
HDC m_DC32 ;HBITMAP m_bmp32;//主窗口32
HDC m_DC24 ;HBITMAP m_bmp24;//主窗口24
HDC m_DC123 ;HBITMAP m_bmp123;//数字
HDC m_DCHead;HBITMAP m_bmpHead;//人头
time_t m_tBegin;
int m_Sec;//用时
int m_X0,m_Y0;
int m_posMouse;
bool m_Over,m_Begin;
bool m_bHitHead;//按在人头上
//int GetReset();//返回示标志地雷数
POINT GetPos(int n);//n= 1-地雷数 2-时间 3-人头
public:
void UpBox(TDC& dc,int l,int t,int w,int h,bool bDown=false);
public:
void Open(int n);
void GameOver();
void DoubleDown(int n);
void DoubleUp(int n,bool bDone=false);
void LbDown(int n);
void LbUp(int n,bool bDone=false);
void Draw(TDC& dc,int x,int y,int n32=-1);
public:
TExicCB();
~TExicCB();
void Init();
UINT OnChar(HWND hwnd,char c);
UINT OnKeyDown(HWND hwnd,UINT key);
public:
void RedrawWindow();
virtual void Close(HWND hwnd);
virtual void OnTimer(HWND hwnd,UINT id);
virtual void SetupWindow(HWND hParent);
virtual void OnDraw(TDC& dc);
virtual UINT OnCommand(HWND hwnd,WPARAM wParam, LPARAM lParam);
virtual UINT OnMessage(HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam);
virtual UINT OnSize(HWND hwnd, WPARAM wParam,int x,int y );
void OnLButtonDown(UINT nFlags, POINT point);
void OnLButtonUp(UINT nFlags, POINT point);
void OnRButtonDown(UINT nFlags, POINT point);
void OnRButtonUp(UINT nFlags, POINT point);
void OnMouseMove(UINT nFlags, POINT point);
void OnBegin();
};
#endif // !defined(AFX_TEXICKJ_H__88B4E241_7480_11D6_A9BC_0020EDA78BC0__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -