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

📄 game_yyllkview.h

📁 这程序是基于VC++/MFC机制应用开发的一款英语单词连连看游戏
💻 H
字号:
// Game_YYLLKView.h : interface of the CGame_YYLLKView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_GAME_YYLLKVIEW_H__6142D197_EE1A_4E07_9CA5_9FD2A9E9B5C2__INCLUDED_)
#define AFX_GAME_YYLLKVIEW_H__6142D197_EE1A_4E07_9CA5_9FD2A9E9B5C2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define BLACK RGB(0,0,0)
#define WHITE RGB(255,255,255)

class CGame_YYLLKView : public CView
{
protected: // create from serialization only
	CGame_YYLLKView();
	DECLARE_DYNCREATE(CGame_YYLLKView)

// Attributes
public:
	CGame_YYLLKDoc* GetDocument();
	CListBox m_listbox;
	CEdit m_editsend;
	CButton m_bnsend;
// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CGame_YYLLKView)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	//}}AFX_VIRTUAL

// Implementation
public:
	BOOL IsWin();
	BOOL YThrough(int x, int y, BOOL bAdd);
	BOOL XThrough(int x, int y, BOOL bAdd);
	BOOL TwoCornerLink(int x1, int y1, int x2, int y2);
	BOOL OneCornerLink(int x1, int y1, int x2, int y2);
	BOOL LineY(int x1, int x2, int y);
	BOOL LineX(int x, int y1, int y2);
	BOOL Y1_Link_Y2(int x1, int x2, int y);
	BOOL X1_Link_X2(int x, int y1, int y2);
	BOOL IsLink(int x1, int y1, int x2, int y2);
	void CurrentAreaAndLevel();
	void DrawGame(CDC *pDC);
	void DcEnvInitial(void);
	void DCEnvClear(void);
	virtual ~CGame_YYLLKView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

public:
	
// Generated message map functions
protected:

	UINT m_gamePicID;
	CBitmap m_bitmap;
	
	CDC* mdc;//内存缓冲区的设备上下文

	//用于记录当前区域大小与当前级别的字符串,用于显示在屏幕上提示用户当前状态
	CString m_strArea;
	CString m_strLevel;


	//是否是第一次开始游戏
	int m_bFistPlay;

	//是否占停游戏
	BOOL m_bGamePaush;

	
	//是否插放背景音乐
	BOOL m_bMusic;

	
	//游戏是否已结束,为FALSE表示开始,否则为结束
	BOOL m_bGameEnd;

	//是否处于欢迎界面
	bool m_b_GAME_STATE;

	//列与行的数量
	int m_iCol;
	int m_iRow;

	int m_nWidth;  //子窗口的宽度
	int m_nHeight; //子窗口的高度

	//游戏区域左上角的坐标
	int m_iStartX;
	int m_iStartY;

	//当前的级别
	int m_iLevel;

	//内存绘图设备的处理
	CDC m_memDC;                   //内存设备环境 
	CBitmap m_memBmp;              //内存位图

	//内存位图属性组
	CDC		m_memPictureDC1;      //图像的内存设备环境
	CBitmap m_memPictureBmp1;     //图像的内存位图

	CDC		m_bmpNumberDC;
	CBitmap	m_bmpNumber;			// 数字背景图像
	
	//OnDraw中需要用到的设备名称
	CPen *m_pBlackPen;
	CBrush *m_pGrayBrush;
	CBrush *m_pBlackBrush;

	//地图位置相关属性组
	int*	m_map;							//动态地图数据头指针(一维数组)
	int		m_nRow;		  //地图的行数
	int		m_nCol;		  //地图的列数

	int		m_nX1;        //鼠标选中的记录方块列数
	int		m_nY1;	      //鼠标选中的记录方块行数

	UINT	m_uSpendTime;			// 游戏开始击到目前所花费的时间
	
	COLORREF m_clrDark;				// 各按钮的深色调


	//{{AFX_MSG(CGame_YYLLKView)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnStart();
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnPause();
	afx_msg void OnExit();
	afx_msg void OnEnd();
	afx_msg void OnUpdateNum(CCmdUI* pCmdUI);
	afx_msg void OnUpdateAnimal(CCmdUI* pCmdUI);
	afx_msg void OnUpdatePlant(CCmdUI* pCmdUI);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnUpdateStart(CCmdUI* pCmdUI);
	afx_msg void OnUpdatePause(CCmdUI* pCmdUI);
	afx_msg void OnUpdateEnd(CCmdUI* pCmdUI);
	afx_msg void OnUpdateSet(CCmdUI* pCmdUI);
	afx_msg void OnUpdateExit(CCmdUI* pCmdUI);
	afx_msg void OnUpdateAppAbout(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  // debug version in Game_YYLLKView.cpp
inline CGame_YYLLKDoc* CGame_YYLLKView::GetDocument()
   { return (CGame_YYLLKDoc*)m_pDocument; }
#endif

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

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

#endif // !defined(AFX_GAME_YYLLKVIEW_H__6142D197_EE1A_4E07_9CA5_9FD2A9E9B5C2__INCLUDED_)

⌨️ 快捷键说明

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