1、合 肥 学 院2012 届 毕 业 论 文(设计)论文(设计)题目 连连看游戏的设计与实现院 系 名 称 计算机科学与技术系专业(班级) 计算机科学与技术2008 级本科 1 班姓名(学号) (0804011042)指导教师 高玲玲 系负责人 袁 暋 完成时间 2012-5-10 连连看游戏的设计与实现中 文 摘 要从 2001 年开始,游戏作为一种产业已经渐渐地为中国大众接受,它所带来的经济效益和社会效益更是人们之前所没有估计到的,当游戏作为一种很重要的娱乐手段被大众接受时,游戏产业就已经注定会带来巨大的经济效益。连连看游戏是一款经典小游戏,操作简单,适合所有玩家。连连看游戏软件在 Linu
2、x 环境下用 QT 框架设计开发,可以实现初始化界面,用户使用鼠标点击两张相同图案的小方块进行消除,并有多种地图样式和道具选择,丰富了游戏的娱乐性。此连连看游戏程序界面美观,操作简单,具有一定的趣味性,是一款老少皆宜的休闲佳品。本文通过需求分析与方案论证,首先对开发连连看游戏程序进行初步的分析,然后通过总体设计和详细设计论述了系统的开发和实现过程。关键词:连连看;单机游戏;游戏开发Design and Implementation of Lianliankan gameAbstractBeginning in 2001, the game as an industry has been gra
3、dually for the Chinese public acceptance, economic and social benefits it brings, is not estimated in before the people to the game as a very important means of entertainment the publicaccepted, the game industry has been destined to bring huge economic benefits. Lianliankan game is a classic game,
4、simple operation, suitable for all players. Lianliankan game software design and development of the QT framework in the Linux environment, you can achieve the initialization interface, the user uses the mouse to click the small box with two identical patterns to eliminate, and a variety of map style
5、s and props select, rich game entertaining. Lianliankan games beautiful interface, easy operation, with some interesting, is a leisure ages to share. This article through the demand analysis and the project concept demonstration, first to develops looked again and again the game procedure carries on
6、 the preliminary analysis, then elaborated systems performance history through the system design and the detailed design as well as realizes the process.KEY WORDS: lianliankan ;stand-alone game; game-developme目 录中文摘要 .IAbstract.II第一章 绪论 .11.1 课题背景 .11.2 课题意义 .11.3 国内外发展情况 .11.4 课题内容及目标 .2第二章 需求分析与方案
7、论证 .32.1 可行性分析 .32.1.1 技术可行性分析 .32.1.2 经济可行性分析 .32.1.3 操作可行性分析 .42.1.4 分析结论 .42.2 需求分析 .4第三章 总体设计 .53.1 开发工具和运行环境 .53.1.1 开发工具 .53.1.2 运行环境 .53.2 功能模块设计 .53.3 算法设计 .63.3.1 游戏地图数据的设计 .63.3.2 图案方块连接判断的设计 .73.3.3 游戏胜利判断算法设计 .83.3.4 游 戏道具算法设计 .83.4 相关技术与重点难点 .83.4.1 相关技术 .83.4.2 系统的重点难点 .9第四章 详细设计 .104.
8、1 功能模块设计与实现 .104.1.1 游戏模块设计与实现 .104.1.2 选项模块设计与实现 .104.1.3 游戏地图数据的设计与实现 .134.1.4 图案方块的判断连接的设计与实现 .164.1.5 游戏结束判断功能的设计与实现 .214.1.6 鼠标交互功能的设计与实现 .234.2 人机界面设计 .28第五章 系统调试与软件测试 .295.1 系统调试 .295.2 软件测试 .29结 论 .33参考文献 .34致 谢 .35合肥学院计算机科学与技术系毕业论文0第一章 绪论1.1 课题背景连连看是一款风靡很久的单机版游戏,对于玩家并不陌生,游戏规则非常简单,只要选择一对相同图案
9、的卡片连接起来,连接路径若避开其他图片,且不超过两次转弯则消除此对卡片,容易上手。改造成网络游戏增强了该游戏的竞技性,把原先单人在规定时间内完成游戏改变成了玩家间相互制约,相互竞争,可以多人组队合作完成游戏,增强了游戏的技巧性、竞技性、合作性。连连看来源于街机游戏,是给一堆图案中的相同图案进行配对的简单游戏,一位叫做朱俊的网友将这种形式搬到了 PC 上,立刻成为办公一族的新宠,并迅速传遍了世界各地。饱受工作压力的人们没有太多的时间进行复杂的游戏,而对于这种动动鼠标就能过关的游戏情有独钟。1.2 课题意义开发连连看游戏程序的目的是为了满足人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最
10、大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友,也可以到达跨省、跨市,甚至跨国间人们互相娱乐的目的,而且小游戏还不会浪费计算机过多的资源,不像大型游戏占资源和牵扯精力,可谓工作娱乐两不误 1。通过此次课题的设计,掌握如何制怍一个游戏软件,以及制作游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础。1.3 国内外发展情况电脑游戏在我国起步虽晚,发展却并不为慢。作为后来者,国内业界同行们的信心、勇气和紧迫感曾经着实令玩家们欣慰。让我们记住这些在国产游戏事业上曾经洒过汗水的年轻人,正是他们的创新精神和勇气,才使得国产游戏在并不宽松的环境下蓬勃发展至今。与单机
11、游戏日渐衰落正相反的是,网络游戏方兴未艾,遍地开花。但是,与此同时,我们也看到了,在繁荣的背后,潜在的危机,一是来自国内游戏制作者在游戏制作理念上的不足和困乏,另外就是资金问题,这两方面与欧美游戏制作差距很大。在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏” ,以此来锻炼编程的能力。这种“游戏”花样繁多,但其特点都是利用计算机合肥学院计算机科学与技术系毕业论文1软件事先设计好的“分析” 、 “判断”能力反过来与人较量 2。连连看这款游戏来源于中国,现在已风靡全世界。连连看游戏从出现到现在已经更新了好多版本,比较知名的有蔬果连连看、水晶连连看、阿达连连看和
12、宠物连连看等不同版本,现在已经有 FLASH 版本,游戏起来更加方便,无需安装,打开网页即可游戏,最近更是出现网络版本,QQ 连连看就是这样一款连连看游戏的网络版本,可以通过网络与其他玩家一起进行游戏,而且地图更为繁多,道具更为丰富,极大地增强了游戏的乐趣 3。1.4 课题内容及目标连连看游戏主要是鼠标两次蠃击的图片能否消去的问题。当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处理。在两张想同图片所能连通的所有路径中,如果存在一条转弯点不多于两个的路径,就可以消去;如果没有,则不予处理。此程序的课题内容及目标如下。(l)有关卡的升级,每关游戏胜利后自动进入下一关
13、并且游戏时间减少 20 秒。(2)随机生成游戏界面。(3)方块选中后图片要有突出显示。(4)选择两个图案相同的方块,并以不超过两个转弯的连线将它们连接起来,便可以消除这对方块,每一局里玩家需要在规定的时间内消除所有的方块,当完成任务后,才能进入下一关卡。(5)当没有可以消除的图案时可以使用重置功能,每次使用重置次数扣一点,游戏时间为 0 时游戏结束。(6)选择提示功能时,游戏自动突出显示两个可以消除的方块,并且提示点数扣掉一点。(7)可以控制游戏背景音乐开关,并且可以根据自己喜好更改背景音乐。(8)游戏设置高手榜,破记录时予以记载。通过对以上功能的实现,达到界面美观,操作简单,增加游戏的娱乐性
14、、趣味性,使玩家对此游戏产生兴趣。合肥学院计算机科学与技术系毕业论文2第二章 需求分析与方案论证2.1 可行性分析可行性分析(feasibility study),世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。可行性分析的焦点是:要站在咨询的立场上;站在中立客观立场上得出结论 4。2.1.1 技术可行性分析设计连连看游戏程序需要通过菜单和鼠标对游戏进行操控,游戏的界面需要大量的绘图机制,以达到操作简单、界面美观的目的。Qt 是一个 1991 年由奇趣科技开发的跨平台
15、C+图形用户界面应用程序开发框架。它既可以开发 GUI 程式,也可用于开发非 GUI 程式,比如控制台工具和服务器。Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。 Qt 包括多达 250 个以上的 C+ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能
16、。作为 Qt 开发跨平台 IDE 的 Qt Creator 包含了开发跨平台应用程序所需的全部功能。所以,可以通过 Qt Creator 实现菜单制作、鼠标操控和绘图功能鼠标交互功能的实现可以通过对鼠标左键被按下时触发的命令消息进行拦截,并重新写该消息的处理函数实现 11。综上所述,对于在技术上使用 QT4.7.4 编写连连看游戏是可行的。2.1.2 经济可行性分析开发本程序首先需要计算机一台,奔腾 3 以上 CPU,256MB 以上内存,40G 以上硬盘即可以,大约五千元左右。软件方面,QT4.7.4 简体中文版可以从官方网站下载,正版操作系统 Linux 简体中文专业版价格大约在两千元左右
17、,购买书籍二百元,开发此程序需要的时间大约需要三个月左右的时间,其中所消耗的人工费每月一千元,共计三千元,所以开发此游戏程序的成本共计一万元左右。开发出的产品倘若在因特网下载,一个注册码费用为十元,只需下载一千次即可收回成本。在高速发展的信息时代,一千次的下载不成问题。所以,从经济角度来讲,开发本程序是可行的。合肥学院计算机科学与技术系毕业论文32.1.3 操作可行性分析连连看游戏,只要将相同图案的两张方块用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合不同年龄的玩家。丰富的道具加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以导找到挑战的
18、目标,长期地保持游戏的新鲜感。并且有提示和重列次数的奖励。对于用户交互方式,这里选择鼠标交互方式。下面简单描述一下通过实现的功能。鼠标选取两个图案方块后,程序将自动判断所选定的两个方块是否能进行抵消操作,能进行则抵消。在游戏过程中,我们不断重复上面描述的功能,直到游戏的胜利结束。可以说,对于玩家操作起来很容易上手,即使是年龄大的玩家,也会通过很短时间的适应而熟悉连连看游戏的操作。所以,从操作可行性角度分析开发此程序是可行的。2.1.4 分析结论以上对于开发此程序分别从技术角度、经济角度和操作性角度进行了全面的分析,技术上使用 QT Creator 进行开发,通过网络下载回收成本,游戏画面美观、
19、操作性强,适合所有人不同年龄段的玩家进行娱乐。纵上所述,以 QT Creator 为工具开发连连看游戏的方案是可行的。2.2 需求分析关于连连看的功能描述如下:运行游戏并自动进行初始化工作,将游戏区域上方作为信息显示区域,并且通过菜单功能进行操控,菜单功能包括开始新游戏,开关和更改背景音乐,提示和重列功能以及积分榜功能。游戏区域中心区域作为小方块的地图,由多种人物图案组成分布在不同位置,界面设有关卡、提示次数、重列次数、剩余时间以及积分的显示。玩家可以通过选取相同的两个物件来对他们进行消除操作,直到将游戏区域中的所有方块对都被消除后为胜利,并且给予破记录后的提示功能。对于资源的需求,图片资源必
20、不可少,游戏中的小方块是一组图片资源,选用两组图案和排列完全相同但是背景色不同的两组图片作为小方块的初始状态和选定状态,每张图片共20 个人物。为了使游戏更具娱乐性,背景音乐及音效的添加也是必不可少的,所以此游戏程序也加入了的音乐文件资源。合肥学院计算机科学与技术系毕业论文4第三章 总体设计3.1 开发工具和运行环境3.1.1 开发工具本程序采用 QT Creator 作为开发工具。Qt Creator 是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE) 。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位
21、及 64 位) 、Mac OS X 以及 Windows。根据官方描述, Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。在功能方面,Qt Creator 包括项目生成向导、高级的 C+ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。集成了特定于 Qt 的功能,如信号与槽 (Signals & Slots)图示调试器,对 Qt 类结构可一目了然集成了 Qt Designer 可视化布局和格式构建器只需单击一下就可
22、生成和运行 Qt 项目 6。3.1.2 运行环境运行环境首先需要操作系统的支持,开发本程序使用虚拟 Linux 操作系统,及在Windows 下安装虚拟机,再装上 Ubuntu10.10 系统,对显卡要求不高,都能满足显卡需求,还有音响用于播放音乐。保证了以上的配置,就能保证使用 QT Creator 在虚拟的 Ubuntu 系统中开发连连看游戏程序环境的可行性。3.2 功能模块设计本程序共分为两个个模块,即游戏模块、图形界面显示模块。游戏模块可分为新游戏子模块、开关背景音乐子模块、更改背景音乐子模块。提示子模块、重列子模块、积分榜子模块。提示子模块和重列子模块作为游戏的特殊功能,增加游戏的趣味性。音乐子模块用以清晰的显示音乐效果。积分榜子模块用于记录游戏的积分信息,并且对于破记录给予提示。图形界面显示模块包括棋子的显示、菜单的显示。棋子显示子模块用于布置整个游戏界面。菜单显示子模块能显示游戏的基本操作功能和游戏剩余时间、剩余重置和提示次数、游戏级别、游戏分数的显示和英雄榜的显示。合肥学院计算机科学与技术系毕业论文5连连看棋子操作功能播放音乐功能游戏升级功能主界面显示功能英雄榜功能图 3-1 功能模块图改变背景音乐功能棋子换盘棋子连接提示棋子显示菜单显示更新记录