【课程设计报告】Java实现游戏连连看(有源代码)

上传人:桔**** 文档编号:433144170 上传时间:2022-11-28 格式:DOC 页数:26 大小:2.43MB
返回 下载 相关 举报
【课程设计报告】Java实现游戏连连看(有源代码)_第1页
第1页 / 共26页
【课程设计报告】Java实现游戏连连看(有源代码)_第2页
第2页 / 共26页
【课程设计报告】Java实现游戏连连看(有源代码)_第3页
第3页 / 共26页
【课程设计报告】Java实现游戏连连看(有源代码)_第4页
第4页 / 共26页
【课程设计报告】Java实现游戏连连看(有源代码)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《【课程设计报告】Java实现游戏连连看(有源代码)》由会员分享,可在线阅读,更多相关《【课程设计报告】Java实现游戏连连看(有源代码)(26页珍藏版)》请在金锄头文库上搜索。

1、课程设计说明书 NO.25更多计算机类课程设计、毕业设计、论文请访问:http:/ 学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、Java多线程编程、Applet程序的设计、文件和网络输入输出流编程、Java数据库编程等。通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力2.设计方案论证2.1设计思路2.1.1用户可以通过点击菜单中的“开始游戏”选项,开始新游戏程序。程序会载入图片,并通过特定的算法排列图片,并标记图片,以便判断图片是否相同。记录图片坐标,以方便计算图片是否可以相连

2、。确定图片大小,以确定用户点击的是那张图片。2.1.2用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。如果用户选择的是相同的图片,那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。2.1.3用户也可使通过使用“炸弹”功能进行消除图片。方法是点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片。2.1.4 炸弹数目是有限的,默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当

3、炸弹数目为零时(使用三次“炸弹”功能)。并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。2.1.5当系统开始游戏后,系统会在后台记录时间,如果在用户还没有消除所有图片时,系统时间到了,那么系统会弹出对话框,提示用户,时间到了,游戏失败。2.1.6 当用户点击确定后,系统还会弹出对话框询问用户是否重新开始,用户选择“是”时,系统会开始新游戏;当用户选择“否”时,系统会返回开始界面;当用户选择“取消”时,系统会返回提示时间到的界面。2.1.6 如果在时间未到时,用户使所有的图片都消失(两两消除,直到最后一对),系统会提示用户游戏以通过,点“确定”

4、后回到开始界面。2.2设计方法在设计连连看小游戏是,需要编写6个Java源文件:MainFrame.java,ChessButton.java,MapUI.java,Settings.java,ArrayPoint.java,Map.java。2.2.1 MainFrame.java 主窗口部分定义了程序用函数,实现了程序菜单(initMenuBar)的使用。2.2.2 ChessButton.java 按键部分定义按键的位置,代表的值。2.2.3 MapUI.java 游戏部分判断点击的图片,判断两图片是否可连,是否相同。判断是否胜利。实现炸弹功能。2.2.4 Settings.java 数

5、组确定了游戏各种参数属性。2.2.5 ArrayPoint.java 取值部分定义图片的值。2.2.6 Map.java 算法部分通过算法确定两张图片是否连通。2.3功能模块 此设计共有以下几个功能模块。2.3.1 开始游戏程序会载入图片,并通过特定的算法排列图片,并标记图片,以便判断图片是否相同。记录图片坐标,以方便计算图片是否可以相连。确定图片大小,以确定用户点击的是那张图片。2.3.2 使用“炸弹”用户点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片。2.3.3 限制炸弹“数目”炸弹 默认数目为三,每使用一次“炸弹”功能,炸弹数目就

6、会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。2.3.4 对用户游戏时的判断用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。如果用户选择的是相同的图片,那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。2.4流程图如下图2 主函数流程图 开始程序开始游戏接收用户点击是否使用炸弹 Y N是否二次点击 N消除点击计数两张图片是否相同

7、 Y N消除两张一样的可以相连的图片 Y两张图片是否可以相连 N消除用户点击 的两张图片 Y消除点击计数是否还有图片未消除 Y结束 N 图3 游戏进行流程图图4 使用炸弹流程图图5 计算时间流程图 2.5类、方法、属性说明成员变量成员变量描述变量类型名称行数intROWS列数intCOLUMNS图片后缀名stringRELEX每局所花时间(秒)intPERTIME判断的时间间隔intPER炸弹的使用次数intBOMBCOUNT方法方法名功能备注MenuBar()实用程序菜单无备注Bomb()设置炸弹无备注Point()定义按键的位置无备注Chesses()初步定义游戏界面,功能无备注Timer

8、()时间限制无备注3.设计结果与分析用户可以通过点击菜单中的“开始游戏”选项,开始新游戏程序。程序会载入图片,并通过特定的算法排列图片,并标记图片,以便判断图片是否相同。记录图片坐标,以方便计算图片是否可以相连。确定图片大小,以确定用户点击的是那张图片。图6 开始游戏后画面用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。如果用户选择的是相同的图片(如第八行第二列和第八行第三列),那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。图7

9、消除三对后画面用户也可使通过使用“炸弹”功能进行消除图片。方法是点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片(如第一行第一列河第一行第四列)。 图8 使用炸弹后画面炸弹数目是有限的,默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。 图9 炸弹使用光后画面当系统开始游戏后,系统会在后台记录时间,如果在用户还没有消除所有图片时,系统时间到了,那么系统会弹出对话框,提示用户,时间到了,游戏

10、失败。图10 时间到时的画面当用户点击确定后,系统还会弹出对话框询问用户是否重新开始,用户选择“是”时,系统会开始新游戏;当用户选择“否”时,系统会返回开始界面;当用户选择“取消”时,系统会返回提示时间到的界面。图11 点击确定时的画面如果在时间未到时,用户使所有的图片都消失(两两消除,直到最后一对),系统会提示用户游戏以通过,点“确定”后回到开始界面。图12 通关画面4.设计体会通过这次课程设计我学到了不少东西,也发现了大量的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。因而,通过课程设计之后,把以前所学过的知识重新温故。有些在设计过程中已解

11、决,有些还有待今后慢慢学习,只要认真学就会有更多的收获。总之这次课程设计使我更多的掌握了所学的知识,并运用到实践上,了解了java的重要性,对以后的学习起了重要作用。在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。5.参考文献1 印旻. Java语言与面向对象程序设计M,北京: 清华大学出版社,2005.4: 58-722 朱站立、沈伟. Java程序设计实用教程M, 北京: 电子工业出版社, 2007.5: 82-953 朱福喜、尹为民、余振坤等. Java语言与面向对象

12、程序设计M, 第2版. 武汉: 武汉大学出版社,2006.1:123-1304 艾力江. Java 2 范例入门与提高M,北京:清华大学出版社 6. 附录MainFrame.java:import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.SwingUtilities;import javax.swing.Timer;import cn.elva.Settings;import cn.elva.model.Map;public class MainFrame extends JFramepriv

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号