- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业(设计)论文_c++连连看1.doc
课 程 设 计 报 告
课程名称:面向对象程序设计C++
设计题目:连连看
专 业:计算机科学与技术
姓 名:
学 号:
指导教师:李 晓 虹
2015 年 12 月 10 日
摘要
在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生活不可或缺的一部分,越来越多的人使用计算机办公、娱乐、购物等等。游戏行业发展一日千里,该行业极大的影响和改变了人们的生活和娱乐方式,游戏为消费者提供丰富多彩的虚拟空间,使消费者可以自由自在的享受虚拟世界的乐趣,实现自己在现实生活着那个可能永远不能实现的梦想,满足了消费者的心理和精神需求。?
连连看游戏是一款很流行的小游戏,有的是连水果图片,有的是连麻将牌,有的是连各种小图片的等等。各种图片让人看得眼花缭乱,这也可以锻炼人的反应能力和眼力,所以这款小游戏受到了越来越多人的喜爱,尤其是小孩子的喜爱。连连看游戏也是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法设计和语言实现,如C,C#,C++,VB,JAVA等。在本课程设计中我是利用C++语言编写,开发平台是Microsoft?Visual?Studio?2010,功能较为简单,寓学于乐。?
程序的功能是通过找出游戏中两个相同图案的小方块,然后分别点击两个小方块将其消除;可通过倒计时的方式控制游戏时间,游戏时间到或者没有匹配的图案时则游戏结束,需要重新开局,每一局开始倒计时都重新开始;能够响应鼠标事件。论文首先介绍了进行该游戏课程设计的目的,然后是任务描述和设计的相关要求,最后是最重要的需求分析和设计方案。重点介绍了在游戏过程中各种事件的处理,其中又以鼠标事件的处理最为最要,鼠标事件是利用鼠标所发出的信息了解用户的意图,进而做出相对应的动作,消除需要消除的小方块。
关键词:连连看游戏;算法设计;事件;C++,Microsoft?Visual?Studio?2010
第一章 系统需求分析
1.1 功能分析
每次用户选择两个相同的小方块,如果小方块满足一定条件(这两个小方块之间存在转弯少于3的路径),则两个小方块可以消掉,给定任意具有相同图案的两个小方块,用户需要寻找这两个小方块之间在转弯最少的情况下,如果这个最优路径的转弯数目小于3,则这两个小方块可以消掉。所以,主要需要解决的问题就是怎么样得出相同小方块之间的最优路径,这个最优路径首先需要保证转弯数目最少。
游戏开始时,系统会在游戏区域中随机布下12*7个不同图案的小方块。第一次使用鼠标点击游戏界面中的小方块,该小方块此时为被选中状态,再次用鼠标点击其他小方块,若该小方块与被选中的小方块图案相同,且把第一个小方块到第二个小方块连起来,连线的路径中间的直线不超过3根(最多两次转弯),则消掉这一对小方块,否则第一个小方块恢复成未被选中状态,而第二个小方块变成“被选中”状态。每次消除一对小方块会增加一定的时间。
胜利条件:将游戏区域上的小方块全部消除掉且时间未消耗完。
失败条件:时间消耗完,或者剩下的小方块没有路径能够匹配(即界面上的小方块仍未全部消掉)。
1.2 功能需求
(1)游戏界面大致分为两大区,左边为游戏操作区,右边是设置区;
(2)本游戏功能较为简单,只具有连连看游戏的基本功能(计时器、积分器、暂停/重新开始、重列),默认的图案种类数是12种,重复数每种图案为7对;
(3)游戏操作区是系统自动排列的默认的12*7个小方块,用户可以点击小方块来消除具有相同图案的小方块;
(4)设置区中显示当前游戏的种类数、重复数、“开始游戏”按钮、“重列”按钮、“暂停/重新开始”按钮和得分情况;
(5)在游戏操作区的下方显示有“剩余时间”的进度条,当进度条的时间耗完时,则游戏结束。
1.3 功能模块
本游戏主要细分为以下几大模块:?
(1)游戏主界面以Microsoft?Visual?Studio?2010为开发平台设计主界面,主要控件有1个主窗体Form、1个groupbox、1个progressbar、4个button、7个label。
(2)随机排列小方块?。
(3)鼠标事件?。
(4)小方块消除判断?。
(5)游戏难度设置本游戏没有用户自定义游戏难度选择,而是使用默认的图案种类数是12种,每种图案的重复数是7对,所以游戏的灵活性较差。
(6)游戏重列对本局游戏中剩下的小方块重新排列,计时器不会暂停。此模块的主要作用就是在用户自身不能找到能够消掉的小方块的情况下,通过重列剩下的小方块来产生新的路径,使游戏能够继续玩下去。?
(7)暂停/重新开始,点击“暂停”按钮能够使当前正在运行的游戏暂时停止
文档评论(0)