连连看游戏设计和实现
C.1水平扫描
• 为了判断A,B能否通过2个转角连通,则从A开始在 水平方向上向左右扫描,并判断经过的点能否与B 点经过1个转角连通。显然C点能与B点经1个转角连 通,故A,B能经2个转角连通。(红色块为欲消除 块,黑色代表其他阻拦块,黄色c代表折点,绿色代 表折线)
C.2垂直扫描
• 为了判断A,B能否通过2个转角连通,则从A开 始在垂直方向上下扫描,并判断经过的点能否 与B点经过1个转角连通。显然C点能与B点经1 个转角连通,故A,B能经2个转角连通(红色 块为欲消除块,黑色代表其他阻拦块,黄色c 代表折点,绿色代表折线)
图片初始化状态(存放偶数 对图片)
假设下标i=3,随机值为8,如 图交换对应下标值,实现一 次交换
2.3背景音乐
• 音效的设置采用Qt中支持的Phonon多媒 体 框 架 , 可 以 直 接 采 用 Phonon 类 的 MediaObject方法来创建声音对象,然后 使用该类的createPlayer()方法来设置对 应的音乐文件,成功后就可以直接使用 play来播放了。
气氛 创新设计新的游戏规则,消除奖励
本设计主要实现的功能
• 美观大气的界面 • 背景音乐 始,退出 • 基本规则判断
连连看截图:
程序的总体设计
• 1.处理流程
• 2.系统结构图
2.1游戏界面模块设计
由于Qt有强大的ui设计功能,所以界面 设计可以通过控件拖动来实现
C. 两个转角连通
• 判断图片A与图片B能否经过有两个转 角的路径连通实质上可以转化为判断 能否找到一个点C,这个C点与A可以直 线连通,且C与B可以通过有一个转角 的路径连通。若能找到这样一个C点, 那么A与B就可以经过有两个转角的路 径连通 。
• 判断是否经两个转角连通的算法需要 做两个方向上的扫描:水平扫描和垂 直扫描。
谢谢您的观看
复旦大学
本程序优缺点
• 优点: 1. 界面简洁美观 2. 背景音乐匹配 3. 时间奖励机制 • 缺点: 1. 没有动画效果 2. 图片种类固定
设计工作中的体会及改进意见
• 经过本次毕业设计,深深的感受到算 法设计在游戏设计中的重要性,连连 看的核心算法具有高度的逻辑性,需 要仔细考虑,例如:起初设计过程中 ,没有考虑到算法的递归性质,因此 编写的代码有大量的冗余,层次也不 清晰。通过利用递归性质,可以实现 代码的重复利用,简化程序。
• 同时设计连连看的游戏可以提高自己 的算法分析和设计的能力,锻炼自己 解决实际问题的能力。
网上经典连连看游戏图片样张
设计的主要特点
界面简洁大气,布局合理 游戏状态提示醒目(难度,时间,其他) 图片新颖丰富 游戏核心算法思路清晰,简洁、易懂、易
实现 添加背景音乐和鼠标点击音乐,增添游戏
2.2图片随机生成
• 由于连连看的的图片是表格形式,和 二维数组相对应,因此采用数组存放 图片,0代表没有图片,1-25代表图 片的编号,将图片用统一url引用进来 ,然后使用随机函数产生随机下标, 在数组遍历的过程,交换随机下标和 遍历下标对应的值,实现图片的随机 排布。
1.图片初始化 2.图片随机排布过程
连连看游戏设计与实现
复旦大学
主要内容
1. 课题研究的目的及意义 2. 设计的主要特点 3. 本设计主要实现的功能 4. 程序的总体设计 5. 本程序的优缺点 6. 设计工作中的体会及改进意见 7. 致谢
课题研究的目的及意义
• 连连看游戏是游戏中经典中的经典, 曾经风靡网络,它以简单,容易上手 ,图片新颖的特点获得了大量的粉丝 ,它是一款经久不衰的休闲小游戏, 适合大众玩耍。
致谢
• 感谢一直以来对我悉心指导的老师,从起初的毫
无思路,
到小程序的实现,是老师
一直给
与我帮助和鼓舞,才使我
静下心来仔细
思考,打开思路,克服
BUG,最终实现 连
连 看,尽管程
序还是有不少缺点,
但是在做毕
业设计的过程中,我还是
掌握了不少
解决实际问题的能力,其中一
大部分是
源于老师的教诲,再次表示感谢!
2.4图片消除路径
• 根据连连看的游戏规则,转角数不得 超过2个,我们可以分为转角数分别 为0个、1个、2个这三种情况分别讨 论。
A. 零个转角连通(直线连通)
两个图片的 纵坐标或横 坐标相等, 且两者连线 间没有其他 图案阻隔。 (红色块为 欲消除块)
B. 一个转角连通
• 其实相当于两个图片划出一个矩形,这两个 图片是一对对角顶点,另外两个顶点如果可 以同时和这两个棋子直连,那就说明可以"一 折连通"。(红色块为欲消除块,黑色代表其 他阻拦块,圆圈代表折点)