毕业论文-基于visualc++的扫雷游戏设计

毕业论文-基于visualc++的扫雷游戏设计

ID:30030733

大小:70.50 KB

页数:13页

时间:2018-12-26

毕业论文-基于visualc++的扫雷游戏设计_第1页
毕业论文-基于visualc++的扫雷游戏设计_第2页
毕业论文-基于visualc++的扫雷游戏设计_第3页
毕业论文-基于visualc++的扫雷游戏设计_第4页
毕业论文-基于visualc++的扫雷游戏设计_第5页
资源描述:

《毕业论文-基于visualc++的扫雷游戏设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、青岛理工大学琴岛学院设计报告课题名称:扫雷游戏设计学院:青岛理工大学琴岛学院专业班级:计算机科学与技术102班学号:20100301049学生:徐为指导教师:张秀国、宋传磊青岛理工大学琴岛学院教务处2011年7月8日一、调研材料扫雷游戏是Windows操作系统自带的一个小游戏,过去的几年里Windows操作系统历经数次换代,变得越来越庞大、复杂,但扫雷游戏在任何版本的Windows操作系统里却依然保持原貌,而且几乎每个电脑使用者都接触过它,并且深爱着这款小游戏。扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多算法

2、和语言实现,如C,C++,VB,JAVA等。以VisualC++开发环境,设计并开发一款扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。VisualC++是一个功能强大的可视化开发工具。自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。它不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化即成开发环境。二、概要设计1.基本功能扫雷游戏游戏开始游戏选关游戏计雷游戏计时图1程序基本功能类名成员函数功能CM

3、y2_1Viewleizero()显示没有雷的区域Onchuji()给变量m_RowCount、m_ColCount、leinum赋值并初始化游戏。Onzhongji()给变量m_RowCount、m_ColCount、leinum赋值并初始化游戏。Ongaoji()给变量m_RowCount、m_ColCount、leinum赋值并初始化游戏。OnLButtonDown()如果在按钮上面,则显示按钮按下位图;如果在扫雷区,先把按钮位图改为张口位图,再判断按下的是否是雷,是就结束,重画,以显示所有的雷;否则,重画相应格子以显

4、示数字。OnRButtonDown()如果是雷,按右键时,显示旗子,并减少一个剩下雷数;如果我们认为那旗子的格子不是雷,按右键,显示问号,并在剩下雷数加上1。OnLButtonUp()松开左键时,显示按钮没有按下的位图;再判断,如果结束,就要显示失败的位图;如果是在按钮上松开按钮,即表示我们已经按下了重新开始的按钮,必须调用重新开始函数OnStart()。OnStart()初始化游戏OnTimer()记录游戏所用时间表1类及其函数功能三、详细设计1.添加位图前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性

5、。另外,为什么不添加一个按钮而用位图呢?是因为即使我们添加了按钮也要添加四幅位图!位图的ID号:按扭位图:30*30IDB_ANNIU1、IDB_ANNIU2、IDB_ANNIU3、IDB_ANNIU4雷区位图:14*14ID号按下图依次为:IDB_BITMAP14。。。。。。IDB_BITMAP252.调整窗口大小在类CMainFrame中的PreCreateWindow()添加代码:BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs){·······cs.dwExStyle=c

6、s.dwExStyle

7、WS_EX_TOPMOST;//cs.style=WS_SYSMENU

8、WS_OVERLAPPED

9、WS_MINIMIZEBOX;//;cs.cx=440;cs.cy=400;returnTRUE;}2.画游戏界面为了用户框重画的需要,当我们的游戏玩了一半后最小化,或是把部分窗口移出屏幕,或是执行了新的应用程序覆盖了原来的程序时,必须重画。我们调用重画函数,它都要重新执行OnDraw(CDC*pDC)函数,那么,此时它就必须把已经显示出来的位图也显示出来。而开始时雷区位图是不可见的,并不影响界面的初始

10、化。voidCMy2_1View::OnDraw(CDC*pDC){·······CBrushmybrush1;mybrush1.CreateSolidBrush(RGB(192,192,192));CRectmyrect1(0,0,1200,800);pDC->FillRect(myrect1,&mybrush1);CBrushmybrush;mybrush.CreateSolidBrush(RGB(0,0,0));CRectmyrect(20,10,70,40);pDC->FillRect(myrect,&mybrush

11、);CRectmyrect2(325,10,375,40);pDC->FillRect(myrect2,&mybrush);CPenmypen;CPen*myoldPen;mypen.CreatePen(PS_SOLID,2,RGB(255,255,255));myoldPen=pDC->

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

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

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