为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

毕业设计-多功能拼图游戏软件

2018-01-06 15页 doc 155KB 24阅读

用户头像

is_219945

暂无简介

举报
毕业设计-多功能拼图游戏软件毕业设计-多功能拼图游戏软件 Java应用技术实训报告 题 目 多功能拼图游戏软件 起讫日期 所在院系 学生姓名 专 业 班 级 学 号 指导教师 职 称 所在单位 2008年 月 日 一(总体设计 本系统共包括11个java源文件和2文件。这是个功能比较齐全的拼图游戏~最关键的不用自己手动切割图片~再进行加载。而是应用类方法在内存中进行图片切割和加载~方便了用户的使用。另外~该程序会根据图片的大小自动生成窗口大小~不会造成切割图片错误和切割错位。 程序最后以*.rc格式的文件来保存游戏记录。 1( 类...
毕业设计-多功能拼图游戏软件
毕业-多功能拼图游戏软件 Java应用技术实训 题 目 多功能拼图游戏软件 起讫日期 所在院系 学生姓名 专 业 班 级 学 号 指导教师 职 称 所在单位 2008年 月 日 一(总体设计 本系统共包括11个java源文件和2文件。这是个功能比较齐全的拼图游戏~最关键的不用自己手动切割图片~再进行加载。而是应用类方法在内存中进行图片切割和加载~方便了用户的使用。另外~该程序会根据图片的大小自动生成窗口大小~不会造成切割图片错误和切割错位。 程序最后以*.rc格式的文件来保存游戏。 1( 类之间的关系如图1所示。 MenuFrame CardFrame Puzzle ShowImage GameOver Matrix Split Grades point ButtonClick 2(java源文件及其功能如表1所示。 - 1 - 表1 序号 文件名 主要功能 备注 程序的主类~定义了各个组件的动作和包含主函数程1 Puzzle.java 为窗口设置图标 序的入口 游戏介绍界面 添加继续按钮 采用卡片布局 2 CardFrame.java 初始化游戏界面~创建并添加组件 声明了6个静3 MenuFrame.java 态方法 在游戏中显示完整图片来提供帮助 4 ShowImage.java 根据难度等级切割完整图片为拼图块 图块保存在内5 Split.java 存中 加载打乱的图块进行初始化游戏 6 Matrix.java 游戏记录和存档~游戏暂停的实现 存档文件格式7 Grades.java 为**.rc 游戏时间和步数的计算和游戏结束的 8 GameOver.java 判断 获得拼图的行数和列数~并向其他函 9 point.java 数传参。 实现鼠标动作。 10 ButtonClick.java 提供图片路径和成绩记录的路径 公用接口 11 Arg.java 二、详细设计 该拼图游戏结合了许多元素~可以图片切割~游戏拼图~游戏成功时和打破记录时的判断~同时还有游戏时间和步数的记录~并以文档形式进行保存。在拼图时首先把图片添加到background目录下~程序会自动获取该目录下的所有文件~并加载到游戏中~进行切割后~显示在拼图按钮上。在游戏开始后会更新“开始“菜单~增加“显示图片”菜单项。拼图结束时可以显示游戏成绩和记录的存档。 1(主类Puzzle ,1,成员变量见表2 表2 成员变量描述 变量类型 名称 开始状态 Boolean Start - 2 - 窗口宽度 int fWidth 窗口高度 int fHeight 结束对象 gOver GameOver 焦点控制 boolean index ,2,方法见表2-1 表2-1 方法名 功能 备注 创建游戏窗口和设置图Puzzle() 标 开始游戏控制~更新开StartGame() 始菜单 endgame() 结束游戏控制 弹出结束窗口 FrameLoseFocus使窗口失去焦点事件 () FrameGetFocus 使窗口得到焦点事件 () menuNewClick() 进行切割图片 调用类 spite,, menuGradesClic实现分数记录和显示 调用类 Class Grades k() menuShowClik() 在游戏中显示完整图片 调用类 class ShowImage menuExit() 退出游戏 menuHelpClik() 实现帮助功能 以弹出式对话框设计 menuAboutClik(实现关于功能 介绍了相关信息和作者 ) ,3,源代码见文件Puzzle.java 2(类CardFrame ,1,成员变量见表3 表3 成员变量描述 变量类型 名称 布局格式变量 CardLayout card - 3 - 容器变量 Container con 面板数组 Jpanel Panel[] ,2,方法见表3-1 表3-1 方法名 功能 备注 创建窗口~布局游戏介CardFrame() 添加了焦点事件适配器 绍 nextCard() 转到一下张卡片 采用卡片布局 ,3,源代码见文件CardFrame.java 3(类MenuFrame ,1,成员变量见表4 表4 成员变量描述 变量类型 名称 难度等级变量 int type 文件路径 String filename 难度按钮组 ButtonGroup bgrp 图片选择按钮组 ButtonGroup frp 菜单更新控制 Boolean update 菜单项数组 JMenu Mm[] m[] ,2,方法见表4-1 表4-1 方法名 功能 备注 MenuFrame() 创建窗口 添加了焦点事件适配器 addMenu() 向菜单栏中添加菜单 以数组形式添加多个菜单 menuLevelClick实现等级选择 () menuBackground实现背景图片的选择 Clik() - 4 - getType() 返回一个难度等级 getFilename() 获取图片的名字 initMenuBegin(初始化开始按钮并设置同时给出了选择 菜单后的相应 ) 快捷键 动作 initMenuBackgr初始化背景菜单 ound() initMenuAbout(初始化关于菜单 ) initMenuOpitio初始化选择菜单 n() initMenuLevel(初始化等级菜单 以选择框形式选择等级 ) updadeMenuBegi游戏开始后更新开始菜比原来增加了显示图片菜单项 n() 单 ,3,源代码见文件MenuFrame.java 4类ShowImage ,1,成员变量见表5 表5 成员变量描述 变量类型 名称 无成员变量 ,2,方法见表5-1 表5-1 方法名 功能 备注 ShowImage() 创建显示图片的窗口 在游戏中提供帮助使用 ,3,源代码见文件ShowImage.java 5类Split ,1,成员变量见表6 表6 - 5 - 成员变量描述 变量类型 名称 难度等级 Int HARD NORML EASY 路径名称 string Filename path ,2,方法见表6-1 表6-1 方法名 功能 备注 Spilt() 创建 Spilt对象 Set() 创建存档文件 BufferedImag把背景图片切割成拼用到了awt.image. e[] divid 图块 BufferedImage里的系统类 get,, 获得Spilt对象 ,3,源代码见文件Split.java 6类Matrix ,1,成员变量见表7 表7 成员变量描述 变量类型 名称 面板 Jpanel panel 拼图行数 int row 拼图列数 Int cal ,2,方法见表7-1 表7-1 方法名 功能 备注 创建图块所在的按 Matrix() 钮并加监听 且添加 到面板中 实现图块的随机排 Init() 打乱了图块的顺序 列 ,3,源代码见文件Matrix.java - 6 - 7(类Grades ,1,成员变量见表8 表8 成员变量描述 变量类型 名称 自定义类 Data Data[] 拼图步数 Int step 拼图计时 Int time ,2,方法见表8-1 表8-1 方法名 功能 备注 Grades() 构造函数 生成拼图记录的文 creatData() 件 readData() 读取已经存在的记录 以.rc格式保存记录的数据 Set() 记录游戏的数据 有打破记录的判断 Show() 显示记录 ,3,源代码见文件CardFrame.java 8(类GameOver ,1,成员变量见表9 表9 成员变量描述 变量类型 名称 移动步数 int step 游戏时间 long counttime 开始时间 long now 控制变量 boolean Stop gameOver ,2,方法见表9-1 - 7 - 表9-1 方法名 功能 备注 GameOver() 构造函数创建对象 Start() 控制游戏开始 judge() 判断游戏是否结束 pause() 实现游戏的暂停 获取移动图块的步getStep() 数 getTime() 获取游戏时间 ,3,源代码见文件GameOver.java 9(类point ,1,成员变量见表10 表10 成员变量描述 变量类型 名称 拼图行数 int row 拼图列数 int cal ,2,方法见表10-1 表10-1 方法名 功能 备注 getRow() 获取行数 getCal() 获取列数 Set() 设置拼图行和列 ,3,源代码见文件point.java - 8 - 10. 类ButtonClick ,1,成员变量见表11 表11 成员变量描述 变量类型 名称 按钮 JButton Button[][] 行数和列数 Int Row cal 结束标志 boolean end ,2,方法见表11-1 表11-1 方法名 功能 备注 ButtonClick( 获取各个参数 6个参数 ) 实现相应的鼠标动actionPerfor 作 med() ,3,源代码见文件ButtonClick.java 11类Arg ,1,成员变量见表12 表12 成员变量描述 变量类型 名称 图片路径接 String path 口 记录文件接 String rc 口 ,2,代码见文件Arg.java - 9 - 三(运行效果 游戏启动后的初始界面 图1 图1 选择“关于”菜单下的 “帮助“ 菜单弹出如下对话框:图2 - 10 - 图2 选择“关于”菜单下的 “关于“ 菜单弹出如下对话框:图3 图3 - 11 - 选择 难度级别 –中级和背景图片~按开始后就可进 入游戏画面如图4 图4 在游戏过程中 可以按“开始”菜单下面的“显示图片” 来查看完整图片 如图5 图5 - 12 - 游戏成功后会显示你游戏所用时间和移动图块的步数 如图6 图6 如果你的游戏时间打破记录就会首先显示如下画面 如图7 图7 - 13 - 输入名字后 ~按确定就可以查看所有成绩排名了如图8 ,也可以通过“开始”菜单下的“分数排名”来查看成绩, 图8 所有游戏截图完毕 四(工作 经过这段时间的学习我收获不小~总结起来有如下几点: 1 更进一步理解了JAVA编程的思想~体会到JAVA与其他编程语言的不同。对于这种面向对象的编程思想~使刚入门的人很快就能写出自己的程序。 2 锻炼了自己的动手和自学能力~在编程中有许多类和方法在课本中没有学到和提及到。都是通过自己查帮助文档~或通过网络进行学习和了解到的。和别人在一起交流是一件很快了的事。 3 体会到写程序最重要的是程序思想~而不是单纯的写代码。如何解决类之间的关联和继承关系~如何组织类是很关键的。此外对于接口和变量的私有还是公有~以及参数传递等方面也收获不小。 该程序需要改进的地方: 1 在变量的访问权限设置不到位~当时为了保证程序的运行通过~好多本来私有的变量都定义为公有~对于类的成员保护做的不够。 2如果在移动图块时~发出声音就会更完美。 3给程序添加背景音乐。 4程序界面风格设计还有待改进。 - 14 -
/
本文档为【毕业设计-多功能拼图游戏软件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索