中南林业科技大学《数据结构课程设计》报告必做题:连连看游戏选做题:姓名:学号:专业班级:软件工程1班学院:计算机与信息工程学院指导老师:程序实现,功能(40分)代码编写格式,注释(20分)文档内容(20分)文档格式(10分)文档图表(10分)签名:2017年1月10日目录抄袭,总成绩0分总分一、连连看问题问题描述该游戏对一堆图案中相同的图案进行配对,点击开始按钮后,要求在一定的时间内完成对所有的图片配对,玩家每次选择两个图形,如果两图形相同,且这两个图形之间存在少于2个拐角的连通路径,则可以消除这两个图形
成功消除一对图片则计分板会增加10分,对应的时间增加3秒
要求各类类型的图片个数为偶数个,途中若有玩家找不到可以匹配的图片时可以点击提示按钮,由系统提示出一对可以消除的图片,通过玩家的点击可以消除
当所有的图片消除时,系统提示消息为“恭喜你,通关了”,如果没有在规定时间完成所有图片的配对,则系统提示为“游戏结束”
基本要求(1)生成游戏初始局面;(2)每次用户选择两个图形,如果图形能满足一定条件(如果两个图形一样,且这个两个图形直接存在少于2个弯的拐角),则两个图形都能消掉
给定具有相同图形的任意两个格子,我们需要寻找这两个格子之间在转弯少的情况下,经过格子数目少的路径
如果这个优路径的转弯数目少于2,则这个两个格子可以消去;(3)判断游戏是否结束
如果所有图形全部消去,游戏结束;(4)判断死锁,当游戏玩家不可能消去任意两个图像的时候,游戏进入“死锁”状态
设计思想判断两个图形可以消除的条件是:两个图形必须相同,它们之间存在着0个拐角,或1个拐角,亦或是2个拐角可以互相连通消除,否则,消除不了
广度优先搜索的具体实现:如果两个图形可以通过0个拐角连通,则从第一个选中的图片一次向右,向下,向左,向上搜索可以和当前选中图片消除的另一图片,当搜索到与之相同的图片时,则与之消去;