连连看游戏设计与实现实现.docx
- 文档编号:1756731
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:46
- 大小:468.34KB
连连看游戏设计与实现实现.docx
《连连看游戏设计与实现实现.docx》由会员分享,可在线阅读,更多相关《连连看游戏设计与实现实现.docx(46页珍藏版)》请在冰豆网上搜索。
连连看游戏设计与实现实现
连连看游戏设计与实现
摘要
“连连看”游戏是一款常见游戏。
游戏速度节奏快,画面清晰可爱,适合大众玩家。
本文主要介绍了游戏的设计过程,其中游戏主要分为4个模块,游戏界面模块、图片随机生成模块、图片消除路径判断、背景音乐模块。
游戏核心模块中图片随机生成采用了数字和图片绑定,运用随机函数以及数组交换的算法,实现了游戏图片初始化状态,有效的解决了图片排布问题,方案简单易行;另一核心模块图片消除路径判断,主要采用了分类判断的算法,将连连看图片的位置一一归类,分类设计函数判断位置,实现游戏的基本消除功能。
算法思路清晰,便于理解和编码。
本游戏实现了连连看的基本功能,可以准确的消除图片、记录分数、提示时间,同时设计了人性化的提示,解决僵局的功能,创新实现了新的连连看规则——消除图片后给予时间奖励,激发了玩家的积极性。
关键词:
QT;连连看;算法;数组
LinkGameDesignandImplementation
Abstract
Linkgameisacommongame.Thegamehasfast-pacedspeedandthecutepictureThatisfitforpublicplayers.Thispaperdescribesthedesignprocessofthegame,wherethegameisdividedintofourmodules,thegameinterfacemodule,themoduleofrandomlygeneratedpictures,eliminatingpathjudgment,backgroundmusicmodules.
GameCoremodule,themoduleofrandomlygeneratedpictures,bindpicturesandimages,usetherandomfunctionandaarrayexchangealgorithm,andachievegamepictureinitializationstate,effectivelysolvetheproblemofpicturearrangement,theplanissimple;anothercoremodulepictures,eliminatepathjudgment,mainlyusesclassificationalgorithmstodeterminethelocationoflinkgamepictureandclassifyit,classificationfunctionsjudgethelocation,andrealizethebasicfunctionofthegamecancellation.Algorithmisclear,easytounderstandandencoding.
Thegamerealizethebasicfunctionoflinkgame,itcaneliminatetheexactpicture,recordingscores,suggestingthattime,anddesignhumanetips,thefunctionofsolvingthedeadlock.Itachievesnewrules--aftereliminationofthepictureyoucanbegiventimebonus.Thatisstimulatingtheenthusiasmoftheplayers.
Keywords:
QT;Link;algorithm;Array
1.绪论
1.1游戏简介
1.1.1游戏背景
连连看游戏是游戏中经典中的经典,曾经风靡网络,无论是单机版的还是网络对战的,它以简单,容易上手,图片新颖的特点获得了大量的粉丝,它是一款经久不衰的休闲小游戏,适合闲来无事的大众,以供消遣。
游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。
“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。
游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。
这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。
并于2004年,取得了国家版权局的计算机软件著作权登记证书。
随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。
如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。
2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。
“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。
1.1.2游戏规则
连连看游戏规则简单,就是在游戏界面中找到两个相同的图片,用不超过3根直线能够连接起来,就可以成功消除图片,得到分数,获得时间奖励,在规定时间内将图片全部消除,便获得胜利。
1.2游戏功能
1.2.1美观大气的界面
本连连看游戏采用蓝色背景作为主色调,界面简洁大方,按钮及提示框排布合理,便于玩家的操作。
1.2.2背景音乐的添加
只要打开游戏,游戏的背景音乐就缓缓的流露出来,滋润心田,选择相应的按钮后,还会有提示音,成功连线消除图片后能播放消除的提示音。
1.2.3奖励时间的设置
玩家成功消除一对图片后,对应的时间进度条就会增加一定的奖励时间,来鼓励玩家消除。
1.2.4提示功能
当玩家陷入困境,不知道怎么消除图片,继续游戏时,提示按钮可以帮助他成功消除当前的图片,但是提示的次数有限,用完不再生效。
1.2.5僵局的重置
由于游戏的图片生成是随机的,因此,在消除到一定阶段的时候,可能会出现有图片但是不满足消除规则的情况,重排的按钮可以实现图片的重新加载,从而能够再次消除。
1.2.6得分记录、难度
为了提高玩家的游戏的积极性,以及为了保证游戏的完整性,游戏将统计玩家的得分情况,消除一对图片,就会得到相应的分数,以数据反应玩家的游戏完成进展。
同时为了给游戏增加一些可变因数,玩家在成功完成一轮游戏后,难度会增加,难度增加反应到游戏中就是缩短了一轮游戏的时间,但是图片的数量没有改变,这就无形中增添了游戏的可玩性。
1.2.7开始、重新开始、退出
开始,重新开始,退出等按钮实现相应的游戏控制。
1.3游戏设计的主要工作
1.3.1游戏设计需要解决的问题
开始制作游戏时,主要要解决的问题有以下几个方面:
如何设置整个游戏的界面;如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后,判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断;如何判断游戏是否结束以及输赢问题等。
1.3.2游戏设计需要使用的算法
针对游戏中最核心的两个问题,1连连看游戏中随机图片的生成且每种图片必须为偶数个,2图片是否相同且图片之间路径的判断,我们需要使用合适的算法来解决这两个棘手的问题。
1.图片成对出现而且随机,为了保证成对,我们可以在存放的时候按照顺序成组来存放,保证组的数量是偶数就可以实现,但是同时又存在一个问题,图片在哪里存放,怎么引用图片,为了简化图片的存放,结合连连看的表格形式,这里我们应用二维数组、采用转化的原则,将图片依次编号和二维数组对应,数组中的数字是0表示为空白,大于0的代表对应的图标编号,这样图标就可以容易替换成任何的图片或者文字,这就很好的解决了图片的按组存放规则;接下来还需要解决一个问题就是如何将图片的顺序打乱,这就需要应用到关键方法——随机函数,通过随机函数和对换的思路,我们可以将图片成功的随机排列,基本解决了随机性的问题。
2.图片是否相同且图片之间路径的判断,这是连连看中最重要和最基础的部分,我们主要采用分类判别的方法,这其实是一种递归的算法,把复杂的问题按照层次剥离出来,每次简化一个步骤,就是递归的实现过程,我们将连连看图片的位置归类,总结出3个类别,即通过0,1,2个转角连接,0个转角是直连的方式,是递归的第一步,1个转角的形式可以转化为两次直连的方式判断,2个转角同样可以转化为1次1个转角,1次0个转角的判断。
这样图片的位置模式大致就清晰了,1,2转角均可以用0个转角解决,递归的方式简单易行,便于理解,思路层次分明。
其他的问题均是围绕这两个问题产生的,由此可以这两个问题的重要性以及良好算法设计的必要性。
1.3.3游戏设计创新点
1.游戏规则创新,当玩家在成功消除图片之后,会给予时间的奖励,时间进度条增加,增强了玩家消除的积极性。
2.提示功能,当玩家无思路的时候,可以通过该功能,解决玩家的困惑。
3,重置功能,当游戏陷入僵局的时候,重置功能可以成功解除僵局,使游戏继续进行。
4.音乐,游戏在开始后,背景音乐就进行播放,当鼠标点击图片的时候,配对的点击音乐也进行播放,用于提示。
5.时间进度条,游戏开始以后,时间以进度条的方式提示,相比原来数字的提示更加清晰。
6.图片消除算法,算法设计合理、思路清晰,涵盖全部情况,采用递归的方式便于游戏编码的实现。
2.系统分析
2.1技术可行性分析
2.1.1算法分析
连连看程序的关键是判断用户点击两个图案能否消除,两张图片消除的条件有两个:
1.图片相同
2.图片间连线的转角数不能超过两个(即用不超过三根直线连接两张图片)
根据判断能否通过不超过三根直线连接两张图片的原则,有两种实用的算法,下面是讨论方案:
1.分类判断法:
这里实质上是一种递归的思想,要判断图片A与图片B能否通过一条有N个转角的路径相连,可以转化为判断能否找到图片C,C与A能直线相连,且C与B能用一条有N-1个转角的路径相连。
若这样的图片C存在,那么A与B就可以通过一条有N个转角的路径相连。
分类法一:
根据转角数不得超过2个的规则,我们可以分为转角数分别为0个、1个、2个这三种情况分别讨论。
a)0转角连通(直线连通):
两个图片的纵坐标或横坐标相等,且两者连线间没有其他图案阻隔。
(红色块为欲消除块)如图2-1
图2-1
b)一个转角连通:
其实相当于两个图片划出一个矩形,这两个图片是一对对角顶点,另外两个顶点如果可以同时和这两个棋子直连,那就说明可以"一折连通"。
(红色块为欲消除块,黑色代表其他阻拦块,圆圈代表折点)如图2-2
图2-2
c)两个转角连通:
判断图片A与图片B能否经过有两个转角的路径连通实质上可以转化为判断能否找到一个点C,这个C点与A可以直线连通,且C与B可以通过有一个转角的路径连通。
这样就将问题转化为了0个转角和1个转角的情况,0个转角可以直接相连,1个转角可以转化为以C点和B点为对顶角的矩形中寻找另外两个对顶角之一,看能否分别和B、C相直连。
若能找到这样一个C点,那么A与B就可以经过有两个转角的路径连通。
判断是否经两个转角连通的算法需要做两个方向上的扫描:
水平扫描和垂直扫描。
水平扫描。
为了判断A,B能否通过2个转角连通,则从A开始在水平方向上向左右扫描,并判断经过的点能否与B点经过1个转角连通。
显然C点能与B点经1个转角连通,故A,B能经2个转角连通。
(红色块为欲消除
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 连连 游戏 设计 实现