MFC小游戏-扫雷

MFC小游戏-扫雷

ID:42184979

大小:42.33 KB

页数:13页

时间:2019-09-10

MFC小游戏-扫雷_第1页
MFC小游戏-扫雷_第2页
MFC小游戏-扫雷_第3页
MFC小游戏-扫雷_第4页
MFC小游戏-扫雷_第5页
资源描述:

《MFC小游戏-扫雷》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第二章扫雷1.游戏实现扫雷,是附带在Window里面的游戏,是个简单的游戏。因此我们就从扫雷开始我们的游戏旅程。很多人都玩过这个游戏,只是不知道怎么用程序实现。不过还有人不知道怎么玩,下面就先说说游戏的规则:●开始:按左键开始游戏,按按钮或菜单重新开始。●左键:按下时,是雷则结束,非雷则显示数字。●数字:代表此数字周围一圈八格中雷的个数。●右键:奇次按下表示雷,偶数按下表示对上次的否定。●结束:左键按到雷结束,找出全部雷结束。接下来就该介绍游戏的编程过程了。不过要先交代一下一些内容。●添加位图。●添加全局变量。●画初始界面。●添加函数。为什么要按这种次序呢?因为我们在画

2、初始界面时,可能要用到位图或变量,而变量的定义又可能要对位图进行定义。这样的步骤的好处还有:在做一步之后都可以运行,有错就改,无错就做下一步。上图是扫雷的一个画面。下面就一步一步地演示,以编程的思路进行,当然,由于编程过程中有一些函数中的代码是分成两三次写的,我们就不重复,全部代码在第一次讲到时列出,而后面讲到时就只是提一下。新建单文档工程2_1。2.2.资源编辑添加位图:前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性。另外,为什么不添加一个按钮而用位图呢?是因为即使我们添加了按钮也要添加四幅位图!位图的ID号:按扭位图:30*30IDB_ANNI

3、U1、IDB_ANNIU2、IDB_ANNIU3、IDB_ANNIU4雷区位图:14*14ID号按下图依次为:IDB_BITMAP14。。。。。。IDB_BITMAP253.3.变量函数定义新类:对于雷,我们是单独定义一个类,这样有利于程序的操作。classLei{public://显示哪一个位图intweitu;//这个位置相应的值intshumu;};视图类变量:接着是在View类添加变量和函数://剩下雷数intleftnum;//雷数intleinum;//结束intjieshu;//计时shortsecond;//开始计时intsecondstart;//位图

4、数组CBitmapm_Bitmap[12];//按扭位图数组CBitmapm_anniu[4];//雷区行数intm_RowCount;//雷区列数intm_ColCount;//最大雷区Leilei[50][50];//这个位置周围雷数为0voidleizero();//计时器函数afx_msgvoidOnTimer(UINTnIDEvent);//鼠标按下左键afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);//鼠标按下右键afx_msgvoidOnRButtonDown(UINTnFlags,CPointpoint)

5、;//初始化函数afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);//鼠标左键松开afx_msgvoidOnLButtonUp(UINTnFlags,CPointpoint);1.4.具体实现删去状态栏和工具栏:开始执行程序,就能见到一个有状态栏和工具栏的大的单文档,与上图不同,所以我们第一步就是整理框架:打开下面函数,把里面的一些语句去掉。如下所示:intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CFrameWnd::OnCreate(lpCreateSt

6、ruct)==-1)return-1;/*if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD

7、WS_VISIBLE

8、CBRS_TOP

9、CBRS_GRIPPER

10、CBRS_TOOLTIPS

11、CBRS_FLYBY

12、CBRS_SIZE_DYNAMIC)

13、

14、!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)){TRACE0("Failedtocreatetoolbar");return-1;//failtocreate}if(!m_wndStatusBar.Create(this)

15、

16、!m_

17、wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT))){TRACE0("Failedtocreatestatusbar");return-1;//failtocreate}//TODO:Deletethesethreelinesifyoudon'twantthetoolbarto//bedockablem_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。