- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 6
********
计算机信息管理学院
本科生毕业论文(设计)开题报告
作 者
院(系)
专 业
年 级
学 号
指导教师
导师职称
选题依据(背景与意义、国内外研究现状与发展趋势)
开发背景
扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利用Visual C++作为开发工具,开发一款类似的“扫雷游戏”。
通过研究Windows操作系统自带的扫雷游戏,我们可以发现在这个游戏中主要有以下两个关键的地方:
第一个是初始化问题,包括随机产生本局游戏中雷的总数,雷的分布对于每一个小区域如何获取周围地区分布的雷数等等。
第二就是对鼠标事件的处理问题,既在游戏过程中对鼠标事件应如何做出反应。
选题的意义及国内外研究现状与发展趋势
经过四年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。
扫雷游戏现在正被大量游戏爱好者所享受,为此扫雷游戏现在正被不断的改进和优化,国内外对扫雷游戏研究已经逐步深化,但扫雷界面单一,不够美观,未来的扫雷游戏必然更加完美,其界面一定会更加美观,采取3D界面,游戏的等级可分数个,玩家可根据自己的能力和兴趣调整等级,使玩家融入在更加刺激的游戏氛围中。
二、研究目标与主要内容(含论文提纲)
制作一款扫雷游戏,并巩固自己所学的知识,制作的过程使自己得到思维及动手方面的能力。
经分析主要有以下部分
在不掀开任何藏有地雷的方块情况下,以最快的速度找出所有的地雷。如果在掀开方块的过程中,不小心翻开(踩到)藏有地雷的方块,则宣告失败(游戏结束),惟有所有不含地雷的方块掀开,游戏才算成功。
1游戏菜单的实现
1.在扫雷游戏工程资源添加一个菜单资源,其属性如表6.1所示
2.给每个菜单栏添加响应函数到CMineDlg类中。
ID
类 别
说明
IDR_MAIN_MENU
弹出菜单
游戏的主菜单
IDR_START_GAME
菜单栏
开始游戏
IDR_EXIT_GAME
菜单栏
退出游戏
IDR_PLAY_MUSIC
选择菜单
播放音乐
IDR_HELP
菜单栏
帮助
IDR_ABOUT
菜单栏
关于
2地雷格子模块的设计与实现
地雷格子的处理是扫雷游戏的核心部分,包括以下几个部分。
1.地雷铺设模块。游戏中的地雷是随机铺设的,可以调用随机发生函数生成随机数。利用随机数去除最大行数或最大列数,得到放置地雷行列的坐标。然后分别把地雷放置到不同行数和列数的格子中去。
2.自动打开周围不是地雷的格子。在游戏中,当玩家单击的格子周围没有地雷格子时,就需要程序自动地打开以提高玩家的效率。其实现是通过递归的方法不断地打开当前格子周围地雷是0的格子来实现的。
3.获得周围地雷个数模块的实现。在游戏中如果玩家打开一个格子时,如果当前格子不是地雷时,则会显示其周围六格地雷的个数。要实现这个功能则要通过当前周围3×3范围的数组。当找到一个元素状态是地雷时,就把记录增加1,直到9个格子全部找完。
3游戏规则模块的设计与实现
1.游戏胜利的判断。通过遍历整个地雷数组,查找是否全部的地雷格子已经被表示或者找出来。如果已经全部被找出来或被标示出来,那么则玩家胜利。反之,说明玩家未胜利,需要继续游戏。
2.当玩家打开一个格子时,就对当前格子进行判断。如果是地雷,说明玩家不幸踩雷游戏以失败告终。而如果不是地雷,就对玩家选中的格子周围表示进行判断,如果有判断错误的格子,也说名玩家失败游戏结束。
4玩家输入模块的设计与实现
鼠标左键的处理需要如下几步操作。
1.接收玩家在界面上的鼠标左键输入信息。
2.对当前鼠标的坐标进行判断。
3.当在按钮区时,调用控制按钮的处理函数。
4.当在地雷区时,如果当前游戏的状态是等待输入或者正在运行时,就得到当前所选中的格子指针
文档评论(0)