1、高级语言程序设计(高级语言程序设计(2) 课程设计任务书课程设计任务书 题 目 连连看连连看程序程序 学生姓名 学号 专业班级 设 计 内 容 与 要 求 【问题描述】 小游戏连连看,玩家需要找出游戏中图片相同的两个方块,如果它们之 间的连接线不多于 3 根直线,就可将这两个方块消除,当游戏中没有满足条 件的图案时,还可以实现重新排序的功能,游戏中的倒计时结束时,游戏结 束,游戏结束即可得出所得分数。 【软件功能】 1 通过找出游戏中图片相同的两个方块,将其消除 2 游戏中没有满足条件的方块时,可重新排列 3 可计算游戏总得分,有“下一局”和“退出游戏”的功能 4 可通过倒计时控制游戏时间,每
2、一局开始倒计时都重新开始 5 利用 SWING 设计适合的图形用户界面 6 能响应鼠标或者键盘事件 【基本要求】 1 设计一个方格类型游戏界面,由 6 行 5 列的方块拼接而成 2 方块上随机分布一些图片,要求至少两两相同,位置随机打乱 3 设计方法,通过一定的数学模型实现将相同图片方块连接,并且使 其消失的功能,并且得到游戏分数 4 设计方法,实现方块重新排列功能 5 利用计时器实现倒计时功能 6 设置按钮,实现“退出游戏”和“下一局”功能 【提交成果】 1“ 高级语言程序设计(2)课程设计任务书”和“ 高级语言程序设计 (2)课程设计报告”打印件各一份; 2 先将上面两项内容的 word
3、文档,通过电子邮件交到指导教师,待许 可后,打印装袋。 起止时间 2012 年 12 月 24 日 至 2012 年 12 月 30 日 指导教师签名 2012 年 12 月 22 日 系(教研室)主任签名 2012 年 12 月 22 日 学生签名 年 月 日 高级高级语言程序设计语言程序设计(2) ) 课程设计课程设计报告报告 专业专业 班级班级 学学号号 姓名姓名 完成日期完成日期 指导教师指导教师 1、 程序设计说明书 【设计题目】连连看程序 【问题描述】 小游戏连连看,玩家需要找出游戏中图片相同的两个方块,如果它们之间的连接 线不多于 3 根直线,就可将这两个方块消除,当游戏中没有满
4、足条件的图案时,还可 以实现重新排序的功能,游戏中的倒计时结束时,游戏结束时,游戏结束即可得出所 得分数。 【软件功能】 1 通过找出游戏中图片相同的两个方块,将其消除 2 游戏中没有满足条件的方块时,可重新排列 3 可计算游戏总得分,有“下一局”和“退出游戏”的功能 4 可通过倒计时控制游戏时间,每一局开始倒计时都重新开始 5 利用 SWING 设计适合的图形用户界面 6 能响应鼠标或者键盘事件 【算法思想】 在检验两个图片能否消掉的时候,要让两个图片同时满足两个条件才行,就是 两者配对并且连线成功。 分 3 种情况:这三种情况都需要三个检测,这三个检测分别检测一条直路经。 这样就会有三条路
5、经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个 转弯点)把两个按钮连接起来了。 (1)、相邻 (2)、若不相邻的先在第一个按钮的同行找一个空按钮。1.找到后看第二个按钮 横向到这个空按钮所在的列是否有按钮。2.没有的话再看第一个按钮到与它同行的 那个空按钮之间是否有按钮。3.没有的话,再从与第一个按钮同行的那个空按钮竖 向到与第二个按钮的同行看是否有按钮。没有的话路经就通了可以消了. (3)、若(2)失败后,再在第一个按钮的同列找一个空按钮。1.找到后看第二个 按钮竖向到这个空按钮所在的行是否有按钮 2.没有的话,再看第一个按钮到与它 同列的那个空按钮之间是否有按钮。3.没有的话,再
6、从与第一个按钮同列的那个空 按钮横向到与第二个按钮同列看是否有按钮。没有的话路经就通了,可以消了。 若以上三步都失败,说明这两个按钮不可以消去 两图能相连的所有情况: (1)(2)(3) (4) (5) (6) 【类的设计】 图片连连看游戏程序中只有一个类,类名为 LianLianKan,该类实现了接口 ActionListener;该类总共有十三个方法,他们的功能分别是:init()初始化; createImgBtn()传进两个 String 类型的参数,返回带有数字和图片的按钮; randomBuild(),产生十五对随机的数字;fraction()计算得分;reload()将游 戏按钮重列; estimateEven()传进两个 int 型和一个 JButton 型的三个参数(分 别是击中的按钮位置坐标和按钮),选中按钮信息的存储与操作;xiao()消去符合 游戏规则的相同的两个按钮;linePassOne()在第一按钮同行有空按钮的条件下 判断第二转折点出现的情况;rowPassOne()在第一按钮同列有空按钮