1、 Java 课程设计报告课程设计报告 题目:题目: 连连看连连看 自评成绩:自评成绩: 优秀优秀 理由:理由: 实现了连连看游戏的基本功能, 增添了暂停, 重置,实现了连连看游戏的基本功能, 增添了暂停, 重置, 提示,消除等附加功能。时间条和消除效果的动画提示,消除等附加功能。时间条和消除效果的动画 表示。表示。 【选题背景】 :【选题背景】 : 连连看游戏经验,玩法简单,休闲,益智,趣味,广受欢迎。连连看游戏经验,玩法简单,休闲,益智,趣味,广受欢迎。 【选题目的】 :【选题目的】 : 学会学会 JAVA 程序开发的环境搭建与配置,并在实际运用中学习和掌握程序开发的环境搭建与配置,并在实际
2、运用中学习和掌握 JAVA 程序开发的全程序开发的全 过程。进一步熟悉掌握过程。进一步熟悉掌握 JAVA 程序设计语音的基础内容,如用户图形界面设计、程序设计语音的基础内容,如用户图形界面设计、JAVA 多线多线 程编程、程编程、JAVA 数据库编程等。通过亲自动手写程序,拓展知识面,锻炼调数据库编程等。通过亲自动手写程序,拓展知识面,锻炼调试能力。试能力。 【系统分析与设计】 :【系统分析与设计】 : 功能分析:实现连连看的基本游戏功能和重置、提示、消除功能功能分析:实现连连看的基本游戏功能和重置、提示、消除功能 设计:通过对图片的调用以及设置是否可见来完成连连看的效果设计:通过对图片的调用
3、以及设置是否可见来完成连连看的效果 【课程设计中碰到的问题及解决方案】 :【课程设计中碰到的问题及解决方案】 : 1.不知道如何进行不知道如何进行对数组中两个元素是否可以消除的判断对数组中两个元素是否可以消除的判断 2.2.时间条的动态表现时间条的动态表现 解决方案:解决方案: 1.1.对每个相同图案进行循环判断,直到找出满足条件的情况对每个相同图案进行循环判断,直到找出满足条件的情况 boolean verticalMatch(Point a, Point b) / boolean verticalMatch(Point a, Point b) / 竖线上的判断竖线上的判断 boolean
4、horizonMatch(Point a, Point b) / boolean horizonMatch(Point a, Point b) / 横线上的判断横线上的判断 2.2.为了保证动画过程和游戏过程的平行运行,因此将动画分离成一个独立的控件,并且要为了保证动画过程和游戏过程的平行运行,因此将动画分离成一个独立的控件,并且要 保证动画有自己单独的线程来运行。当每次用户的分数发生变化时,我们可以使用保证动画有自己单独的线程来运行。当每次用户的分数发生变化时,我们可以使用 setScore(int l, int c) setScore(int l, int c) 方法同步分数显示的动画效果
5、。方法同步分数显示的动画效果。 【程序输出结果】 :【程序输出结果】 : 游戏开始游戏开始 提示功能提示功能 消除功能消除功能 游戏结束游戏结束 关于关于 【总结自己的体会和收获】 :【总结自己的体会和收获】 : 通过这次课程设计我学到了不少东西, 也发现了大量的问题, 同时在设计的过程中也发现了 自己的不足之处,对以前学过的知识理解的不够深刻。对 JAVA 运用图片的调用和设置是否 可见有了新的了解。但在部分功能的实现上还是有所不足,老师和同学都给予了很多帮助。 让我懂得了 JAVA 的重要性和如何应用到实践后上。 【程序代码另附】 :【程序代码另附】 : ImageFactory pack
6、age nicholas.game.kyodai; import javax.swing.ImageIcon; import .*; public class ImageFactory private static ImageFactory imagefactory; private static ImageIcon images; private ImageFactory() images = new ImageIcon54; URLClassLoader loader = (URLClassLoader)getClass().getClassLoader(); for(int i=0;iend.getYpos() direct = -1; path.removeAllElements(); for(int y=start.getYpos()+direct;y!=end.getYpos()y+=direct) if(gridystart.getXpos().isVisible() return