本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

基于Windows平台的连连看游戏设计与实现

基于Windows平台的连连看游戏设计与实现

连连看已在各种平台占据了不小的地位。Windows系统下,Linux系统下,各种系统下都有连连看可玩。而且不管走到哪个页游网站,连连看总是排在受玩家欢迎游戏排名的前列,益智、趣味、休闲是连连看百玩不厌的精华,且不分男女老幼、工薪白领,是一款适合所有人的

如需购买请QQ扫描右边二维码或者加QQ 3449649974 咨询 毕业设计(论文)代做请加QQ 3139476774

无图片信息!

详细描述

基于Windows平台的连连看游戏设计与实现
第一章
1.1 研究现状
连连看这个小游戏,其来源于街机游戏《中国龙》和《麻将》,是给一些图案中的相同图案进行匹配并使之消除的休闲游戏,约在2003年,一个叫朱俊的网友将这种游戏形式搬到了PC上,立刻成为办公人员的新宠,并迅速传遍世界。自从流入大陆以来风靡一时,也吸引着众多的程序员开发出各种版本的“连连看”。这其中,顾方编写的“阿达连连看”以制作精良而广受好评,也成为了顾方“阿达系列软件”的核心产品。并在2004年,取得了国家版权局的计算机软件著作权登记证书。
    饱受工作压力的人们并没有过多的时间进行复杂的游戏,于是对于这种点击鼠标就能过关的游戏情有独钟。之后村子的连连看风靡版,阿达的连连看奥运版,连连看反恐版,还有敏敏连连看,水晶连连看等遍地开花,造就了一个连连看的大家庭。
    随着Flash的流行,网上出现了多种Flash版的“连连看”。如“宝石连连看”、“水果连连看”等,流行的“宝石连连看”以华丽界面吸引了一大批忠实玩家。
    如今,连连看已在各种平台占据了不小的地位。Windows系统下,Linux系统下,各种系统下都有连连看可玩。而且不管走到哪个页游网站,连连看总是排在受玩家欢迎游戏排名的前列,益智、趣味、休闲是连连看百玩不厌的精华,且不分男女老幼、工薪白领,是一款适合所有人的经典休闲小游戏
1.2 主要研究的目的及内容
这个设计的主要目的是设计一款Windows平台下的简洁,富有娱乐性的连连看小游戏,让人们在工作学习之余得到休闲放松。
这款小游戏是仅使用一台计算机就可以独立运行的电子游戏。区别于现在大型的单机或者网络游戏(以下简称为大型游戏),这款小游戏制作的目的是满足人们休闲的需要,在紧张工作之余让人们的精神得以休闲放松。这款休闲类的小游戏玩法简单,不像网络游戏一样需要注册帐号,长时间的下载等繁琐,也不必保持实时在线,在没有网络的时候也可以使用。也不会像大型游戏费时费力,将人们的精力牢牢地套在里面,对于空闲时间越来越碎片化的我们,这款游戏不但能够给人带来最大程度的放松,还不会像大型游戏一样使我们越玩越疲劳,而且这款小游戏还不会占用计算机过多的资源。可谓工作娱乐两不误。
此外也想借由本次毕业设计,掌握如何制作一个游戏软件,以及制作游戏软件的简单流程,制作游戏软件的大体步骤,同时将大学几年所学的专业知识和其他知识融会贯通,学以致用,为以后的就业打基础。
1.3 设计思路
连连看游戏的主要问题是鼠标两次点击的图片能否消去的问题。当然,前提是点击两张相同的图片,若选中的是同一个图片或者两张不同的图片,则不处理。如果在两张相同的图片所能连通的所有路径中能存在至少并可多于一条拐点不多于两个的路径,就可消去;如果没有,则不处理。此课题内容以及目标如下:
(1)有难度选择,根据时间进度条的自减量以及消去成对块后时间进度条的回复量来设置难度。
(2)点击重新开始后可随机生成游戏界面。
(3)方块选中后图片要有明显标示。
(4)选择两个图案相同的方块,如有不超过两个拐点的连线将它们连接起来,便可消除这对图块,每局内,玩家需在规定时间内消除所有成对图块,当全部成对图块都消除后,即判定通关。
(5)当出现无解的局面时,可按下重新排列按钮。
(6)游戏自动统计玩家获得的分数
通过对以上功能的逐步实现,使游戏界面美观,操作简单,并尽力增加游戏的娱乐性,趣味性,以勾起玩家的兴趣。
1.4课题实现技术的简要说明
Visual C++是一款功能强大的可视化软件开发工具,Visual C++ 6.0不仅仅是一个C++编译器,还是一个基于Windows操作平台的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由数量众多的组件所构成,包括编译器、调试器以及程序向导AppWizard、类向导Class Wizard等许多开发工具。 这些组件通过名为Developer Studio的组件集成为稳定的开发环境。Visual C++一直被程序员认为是最好的软件开发工具之一,其在开发界面、执行速度、代码的可移植性方面都有极强优势。因此,实现本设计,VC++ 6.0是一个相对较好的选择。
 第二章 应用需求分析与可行性分析
2.1 应用需求分析
系统性能要求通常指系统所需要的存储容量及后援存储,重新启动和安全性,运行效率等方面的考虑。
本游戏身材迷你,对计算机存储容量没有过分特殊要求,任何一款计算机均可运行。此外,对其它软件几乎没有依赖性,程序健壮性较好。
2.2 运行需求分析
因为本程序身材迷你,目前市面上能见到的安装有Windows操作系统的计算机均可运行 ,故对于运行需求便不进行赘述。
2.3 其他需求分析
本游戏有较好的可靠性、可理解性、可维护性。易于玩家操作。可靠性通常包括正确性和健壮性。可维护性包括了可读性、可测试性等。在开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(时间、经费、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
2.4 可行性分析
2.4.1经济可行性
经济可行性分析是对团队的经济现状和投资能力进行评估,对系统建设运行和维护费用进行评估,对系统建成后可获得的社会和经济效益进行评估。由于本游戏是作为毕业设计由我本人自行开发,因此在经济上的投入甚微,游戏完成即可供多人休闲娱乐,所以经济上是可行的。
2.4.2技术可行性
技术可行性分析主要分析现有技术条件能否顺利完成开发,软件、硬件配置是否能满足开发者需要,各类技术人员数量,水平等等。这款游戏从算法上看并不十分复杂,在我的能力范围之内,而且也不是需要大型团队来合作进行的项目,我一个人就可基本完成,以及当今计算机软件硬件技术的飞速发展,为系统的建设提供了充足的技术条件。
软件配置方面Visual C++是功能强大的可视化,通用的应用程序集成的软件开发工具Developer Studio(也俗称Visual Studio), Visual C++6.0不仅是一个C++编译器,且还是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由众多组件组成,包括编译器、调试器以及程序向导AppWizard、类向导Class Wizard等等开发工具。这些组件通过一个名为Developer Studio的组件集成为稳定的开发环境。Visual C++一直被程序员认为是目前最好的软件开发工具之一,其在开发界面、执行速度、代码的可移植性方面都有极强的优势。
所以,综上所述,实现本程序从技术上是可行的。
2.4.3 运行可行性
本游戏因为其自身很小,算法处理也不特别复杂,运行了之后对系统本身并无严重影响,内存占用极少,并不会妨碍到其他程序运行,所以在运行上是可行性的。
2.4.4 时间可行性
从时间上看,利用数个月的时间来学习相关知识,并开发连连看小游戏,时间上是有点紧,但是不是不可能实现,通过数多月的努力,功能可基本实现。
2.4.5 法律可行性:
① 所有技术资料都合法资料。
② 开发过程中并不存在知识产权的问题。
③ 未抄袭任何网站,不存在侵犯版权的问题。
④ 开发过程中未涉及任何法律责任。
综上所述,本系统的开发从经济上、从技术上、从运行上、从时间上、从法律上都是完全可靠可行的。
2.5 软件开发步骤
一般来说,软件开发步骤可划分为需求分析、概要设计、详细设计、编码实现和运测试五个阶段。上述各阶段排成一个严密的流程,各工作阶段均需产生完整的技术文档来为下一阶段工作进行指导,各阶段都需文档进行评估,确信该阶段工作已彻底完成并达到要求。之后才可进入下一阶段,并在之后的工作流程中不可轻易改变前面经过评估的结果。
上述开发方式的优点有:便于开发工作的组织及管理,且可以大幅度的降低软件开发的复杂程度。放眼国内国外,许多软件的开发实例都论证了这是种行高效可行,组织能力强的开发方式。

第四章 系统分析
4.1 系统实现目标
系统功能的主要实现:游戏界面初始化及图块随机生成、判断鼠标前后点击的图块能否消除、难度及声音选择、计时与得分。
(1)界面初始化及图块随机生成模块:按固定数目随机生成成对的图块等;
(2)判断鼠标前后点击的图片能否消除模块:判断前后所选择的图片的连接方式,并依据在不同连接方式下对于路径间是否有障碍图片的判断来确定前后点击的两个图片能否消除;
(3)难度及声音选择模块:依据选择的不同难度对游戏时间进行调整。以及依据选择的不同声音调用不同的音频文件;
(4)计时与得分模块:依据所选难度对时间自减量进行调整,以及记录所消去图片后获得的分数。
4.2 系统体系结构
在系统功能分析的基础上,做系统功能模块图如图4.1: 

结束语
此次毕业设计是采用VC++来设计并实现连连看游戏的功能,对该程序的设计思路,算法实现及游戏图案的绘制等进行详细的介绍。其中核心内容包括游戏界面的初始化,图块的随机配对,图块的连通判断,图块的配对消去判断,游戏胜利条件判断以及整个游戏用户交互功能的实现。算法并不复杂,运行速度较快。但是,游戏实现的功能较为单一及界面也比较简单,因此考虑了不同难度系数的游戏级别。
这些日子以来,紧张而忙碌的进行着毕业设计的制作,使我再一次对本专业的基本理论、专业知识和基本技术有了更深入的了解和实践,使我在四年内所学到的知识得到了系统的总结和全面的升华,真正达到了学以致用。
对程序设计的体会:
程序设计是解决特定问题程序的过程,是软件构造活动中重要的一部分。程序设计以某种程序设计语言为工具,给出用这种程序语言编写的程序。程序设计过程包括分析设计编码、测试、排错等阶段。
任何设计都是在各种约束条件和相互矛盾的需求间寻求平衡的过程,程序设计也不例外。随着软件规模的日益庞大和硬件技术的飞速发展,程序的结构、可维护性、复用性、可扩展性等因素愈发重要。
随着软件技术发展,软件系统越来越复杂,逐渐分化出许多专用系统,如操作系统数据库系统应用服务器,而且这些专用的软件系统愈来愈融入普遍的计算环境中去。这种情况下软件构造活动的内容越来越丰富,不再是纯粹的程序设计,还有数据库设计用户界面设计、接口设计、通信协议设计和复杂的系统配置等众多过程。
设计实践上的体会
在设计过程中,我掌握了很多C++的编程知识,并对这种成熟并被广泛使用的程序语言进行了学习。设计的过程是一个再学习的过程,遇到问题后我尽量自己想办法解决,这在一定程度上激发了我的自学能力;在没有苦思无果的情况下,向老师请教,从老师那里我学到了更多的知识与技巧,老师对我的指导起到了十分重要的作用。
以往我们也有过多次设计的体会,但只是设计数个模块或一个很简易的小系统,这次毕业设计是综合这些年所学的编程知识来设计一个连连看游戏软件。要想使玩家满意,就需要我付出更多的努力。我在设计中也会出现一些问题不知如何解决,此时许多同学给予了我很大帮助。在设计的过程中培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定资本,提高了我与人沟通的能力。
程序设计中的体会
在我的游戏设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是远远不够的,只有把理论与实践相结合才能够真正的学会知识。一个小游戏的设计,不可能一步到位,还要不断的完善和补充。同时,游戏中可能还存在问题,有待我在日后的使用中发现和解决。编程前的深思熟虑是减少程序调试量的重要方法,只有进行充分细致的考虑,才会减少调试过程中的工作量。虽然在开始写程序前我做了很多准备工作,但在真正写程序时仍然发现许多问题,有些是分析时的疏漏,有些则是如果不做无论如何也想不到的问题。
参考文献
[1]刘锐宁,宁坤《 Visual C++从入门到精通 》[M].化学工业出版社,2010年7月:163-370
[2](美)帕罗赛斯著,北京博彦科技发展有限责任公司译 《MFC Windows程序设计》[M]. 清华大学出版社,2007年5月:721-755
[3]任哲等.《MFC Windows应用程序设计》[M]. 清华大学出版社,2004年7月:103-114
[4]侯俊杰.《深入浅出MFC》[M]. 华中科技大学出版社,2001年1月:1-336
[5]Morison.M.《游戏编程入门》 [M].人民邮电出版社,2005年9月:1-17
[6]荣钦科技.《Visual C++游戏编程基础》[M].电子工业出版社,2005年5月:1-60
[7]邹吉滔,姚雷,易巧玲.《C++游戏编程》[M]. 清华大学出版社,2011年1月:120-395
[8]孙涌.《现代软件工程》 [M].北京希望电子出版社,2003年8月:1-246 

目录
第一章 引言 1
1.1 研究现状 1
1.2 主要研究的目的及内容 1
1.3 设计思路 2
第二章 应用需求分析与可行性分析 4
2.1 应用需求分析 4
2.2 运行需求分析 4
2.3 其他需求分析 4
2.4 可行性分析 4
2.4.1经济可行性 4
2.4.2技术可行性 5
2.4.3 运行可行性 5
2.4.4 时间可行性 5
2.4.5 法律可行性: 5
2.5 软件开发步骤 6
第三章 相关技术简介 7
3.1 C++语言 7
3.2 Microsoft Visual C++ 6.0 8
3.3 MFC 8
第四章 系统分析 9
4.1 系统实现目标 9
4.2 系统体系结构 9
4.3 主流程图 11
第五章 系统设计 12
5.1 概要设计 12
5.2 系统结构设计 12
5.3 详细设计 13
5.3.1 游戏地图设计 13
5.3.2 图案方块的连接判断 15
5.3.3 鼠标交互功能的实现 25
5.3.4 游戏胜利的判断 28
第六章 系统调试与测试 29
6.1 程序调试 29
6.2 程序的测试 29
6.2.1 测试的重要性及目的 29
6.2.2 测试的步骤 30
6.2.3 测试的主要内容 31
参考文献 35
致谢 36
附录 37
收缩