logo资料库

JAVA拼图游戏设计报告.doc

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
一.总体设计
二、详细设计
游戏启动后的初始界面 图1
图1
选择“关于”菜单下的 “帮助“ 菜单弹出如下对话框:图2
图2
选择“关于”菜单下的 “关于“ 菜单弹出如下对话框:图3
图3
选择 难度级别 –中级和背景图片,按开始后就可进
入游戏画面如图4
图4
在游戏过程中 可以按“开始”菜单下面的“显示图片”
来查看完整图片 如图5
图5
游戏成功后会显示你游戏所用时间和移动图块的步数 如图6
图6
如果你的游戏时间打破记录就会首先显示如下画面 如图7
图7
输入名字后 ,按确定就可以查看所有成绩排名了如图8
(也可以通过“开始”菜单下的“分数排名”来查看成绩)
图8
所有游戏截图完毕
四.工作总结
经过这段时间的学习我收获不小,总结起来有如下几点:
1 更进一步理解了JAVA编程的思想,体会到JAVA与其他编程语言的不同。对于这种面向对象的编程思想
2 锻炼了自己的动手和自学能力,在编程中有许多类和方法在课本中没有学到和提及到。都是通过自己查帮助文
3 体会到写程序最重要的是程序思想,而不是单纯的写代码。如何解决类之间的关联和继承关系,如何组织类是
该程序需要改进的地方:
1 在变量的访问权限设置不到位,当时为了保证程序的运行通过,好多本来私有的变量都定义为公有,对于类的
2如果在移动图块时,发出声音就会更完美。
3给程序添加背景音乐。
4程序界面风格设计还有待改进。
Java 应用技术实训报告 题 目 多功能拼图游戏软件 起讫日期 所在院系 学生姓名 专 业 班 级 学 号 指导教师 职 称 所在单位 2008 年 月 日
一.总体设计 本系统共包括 11 个 java 源文件和 2 文件。这是个功能比较齐全的 拼图游戏,最关键的不用自己手动切割图片,再进行加载。而是应用类 方法在内存中进行图片切割和加载,方便了用户的使用。另外,该程序 会根据图片的大小自动生成窗口大小,不会造成切割图片错误和切割错 位。 程序最后以*.rc 格式的文件来保存游戏记录。 1. 类之间的关系如图 1 所示。 MenuFrame CardFrame Puzzle ShowImage GameOver Matrix Split Grades point ButtonClick 2.java 源文件及其功能如表 1 所示。 - 1 -
序号 文件名 主要功能 备注 表 1 1 2 3 4 5 6 7 8 9 10 11 Puzzle.java 程序的主类,定义了各个组件的动作和 为窗口设置图标 CardFrame.java 游戏介绍界面 添加继续按钮 MenuFrame.java 初始化游戏界面,创建并添加组件 包 含 主 函 数 程 序的入口 采用卡片布局 声 明 了 6 个 静 态方法 ShowImage.java 在游戏中显示完整图片来提供帮助 Split.java Matrix.java Grades.java GameOver.java point.java 根据难度等级切割完整图片为拼图块 图 块 保 存 在 内 存中 存 档 文 件 格 式 为**.rc 加载打乱的图块进行初始化游戏 游戏记录和存档,游戏暂停的实现 游戏时间和步数的计算和游戏结束的 判断 获得拼图的行数和列数,并向其他函 数传参。 ButtonClick.java 实现鼠标动作。 Arg.java 提供图片路径和成绩记录的路径 公用接口 二、详细设计 该拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和 打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进 行保存。在拼图时首先把图片添加到 background 目录下,程序会自动获 取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按 钮上。在游戏开始后会更新“开始“菜单,增加“显示图片”菜单项。 拼图结束时可以显示游戏成绩和记录的存档。 1.主类 Puzzle (1)成员变量见表 2 成员变量描述 变量类型 开始状态 Boolean 表 2 - 2 - 名称 Start
窗口宽度 窗口高度 结束对象 焦点控制 int int gOver boolean fWidth fHeight GameOver index (2)方法见表 2-1 表 2-1 方法名 功能 备注 Puzzle() StartGame() 创建游戏窗口和设置图 标 开始游戏控制,更新开 始菜单 endgame() 结束游戏控制 弹出结束窗口 FrameLoseFocus () FrameGetFocus () 使窗口失去焦点事件 使窗口得到焦点事件 menuNewClick() 进行切割图片 调用类 spite() menuGradesClic k() 实现分数记录和显示 调用类 Class Grades menuShowClik() 在游戏中显示完整图片 调用类 class ShowImage menuExit() 退出游戏 menuHelpClik() 实现帮助功能 以弹出式对话框设计 menuAboutClik( ) 实现关于功能 介绍了相关信息和作者 (3)源代码见文件 Puzzle.java 2.类 CardFrame (1)成员变量见表 3 表 3 成员变量描述 变量类型 布局格式变量 CardLayout - 3 - 名称 card
容器变量 面板数组 Container Jpanel con Panel[] (2)方法见表 3-1 表 3-1 方法名 功能 备注 CardFrame() 创建窗口,布局游戏介 绍 添加了焦点事件适配器 nextCard() 转到一下张卡片 采用卡片布局 (3)源代码见文件 CardFrame.java 3.类 MenuFrame (1)成员变量见表 4 表 4 成员变量描述 变量类型 难度等级变量 文件路径 int String 难度按钮组 ButtonGroup 图片选择按钮组 ButtonGroup 菜单更新控制 菜单项数组 Boolean JMenu (2)方法见表 4-1 名称 type filename bgrp frp update Mm[] m[] 表 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 string HARD NORML EASY Filename path (2)方法见表 6-1 表 6-1 方法名 功能 备注 Spilt() Set() BufferedImag e[] get() divid 创建 Spilt 对象 创建存档文件 把背景图片切割成拼 图块 获得 Spilt 对象 (3)源代码见文件 Split.java 6 类 Matrix (1)成员变量见表 7 表 7 用 到 了 awt.image. BufferedImage 里的系统类 成员变量描述 变量类型 名称 面板 拼图行数 拼图列数 Jpanel int Int (2)方法见表 7-1 panel row cal 方法名 功能 备注 表 7-1 Matrix() Init() 创建图块所在的按 钮并加监听 且添加 到面板中 实现图块的随机排 列 (3)源代码见文件 Matrix.java - 6 - 打乱了图块的顺序
7.类 Grades (1)成员变量见表 8 表 8 成员变量描述 变量类型 名称 自定义类 拼图步数 拼图计时 Data Int Int (2)方法见表 8-1 Data[] step time 方法名 Grades() creatData() readData() Set() Show() 表 8-1 功能 备注 构造函数 生成拼图记录的文 件 读取已经存在的记录 以.rc 格式保存记录的数据 记录游戏的数据 有打破记录的判断 显示记录 (3)源代码见文件 CardFrame.java 8.类 GameOver (1)成员变量见表 9 成员变量描述 变量类型 表 9 移动步数 游戏时间 开始时间 控制变量 (2)方法见表 9-1 int long long 名称 step counttime now boolean Stop gameOver - 7 -
分享到:
收藏