Java课程设计拼图总结报告.docx
- 文档编号:29682792
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:30
- 大小:120.95KB
Java课程设计拼图总结报告.docx
《Java课程设计拼图总结报告.docx》由会员分享,可在线阅读,更多相关《Java课程设计拼图总结报告.docx(30页珍藏版)》请在冰豆网上搜索。
Java课程设计拼图总结报告
Java应用技术实训报告
题目多功能拼图游戏软件
所在院系软件学院
所在单位软件教研室
一.整体设计
本系统共包括11个java源文件和2文件。
这是个功能比较齐全的
拼图游戏,最要点的不用自己手动切割图片,再进行加载。
而是应用类
方法在内存中进行图片切割和加载,方便了用户的使用。
其他,该程序
会依照图片的大小自动生成窗口大小,不会造成切割图片错误和切割错
位。
程序最后以*.rc格式的文件来保存游戏记录。
1.类之间的关系如图1所示。
MenuFrame
CardFrame
Puzzle
ShowImageGameOverMatrixSplitGrades
pointButtonClick
2.java源文件及其功能如表1所示。
表1
序号文件名主要功能备注
程序的主类,定义了各个组件的动作和
为窗口设置图标
包括主函数程
序的入口
2CardFrame.java游戏介绍界面增加连续按钮采用卡片布局
初始化游戏界面,创立并增加组件声了然6个静
态方法
4ShowImage.java在游戏中显示完满图片来供应帮助
依照难度等级切割完满图片为拼图块图块保存在内
存中
6Matrix.java加载打乱的图块进行初始化游戏
游戏记录和存档,游戏暂停的实现存档文件格式
为**.rc
游戏时间和步数的计算和游戏结束的
判断
获得拼图的行数和列数,并向其他函
数传参。
10ButtonClick.java实现鼠标动作。
11Arg.java供应图片路径和成绩记录的路径公用接口
二、详细设计
该拼图游戏结合了好多元素,可以图片切割,游戏拼图,游戏成功时和
打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进
行保存。
在拼图时第一把图片增加到background目录下,程序会自动获
取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按
钮上。
在游戏开始后会更新“开始“菜单,增加“显示图片〞菜单项。
拼图结束时可以显示游戏成绩和记录的存档。
1.主类Puzzle
〔1〕成员变量见表2
表2
成员变量描述变量种类名称
开始状态BooleanStart
窗口宽度intfWidth
窗口高度intfHeight
结束对象gOverGameOver
焦点控制booleanindex
〔2〕方法见表2-1
表2-1
方法名功能备注
Puzzle()
创立游戏窗口和设置图
标
StartGame()
开始游戏控制,更新开
始菜单
endgame()结束游戏控制弹出结束窗口
FrameLoseFocus
()
使窗口失去焦点事件
FrameGetFocus
()
使窗口获得焦点事件
menuNewClick()进行切割图片调用类spite〔〕
menuGradesClic
k()
实现分数记录和显示调用类ClassGrades
menuShowClik()在游戏中显示完满图片调用类classShowImage
menuExit()退出游戏
menuHelpClik()实现帮助功能以弹出式对话框设计
menuAboutClik(
)
实现关于功能介绍了相关信息和作者
〔3〕源代码见文件
2.类CardFrame
〔1〕成员变量见表3
表3
成员变量描述变量种类名称
布局格式变量CardLayoutcard
容器变量Containercon
面板数组JpanelPanel[]
〔2〕方法见表3-1
表3-1
方法名功能备注
CardFrame()
创立窗口,布局游戏介
绍
增加了焦点事件适配器
nextCard()转到一下张卡片采用卡片布局
〔3〕源代码见文件
3.类MenuFrame
〔1〕成员变量见表4
表4
成员变量描述变量种类名称
难度等级变量inttype
文件路径Stringfilename
难度按钮组ButtonGroupbgrp
图片选择按钮组ButtonGroupfrp
菜单更新控制Booleanupdate
菜单项数组JMenuMm[]m[]
〔2〕方法见表4-1
表4-1
方法名功能备注
MenuFrame()创立窗口增加了焦点事件适配器
addMenu()向菜单栏中增加菜单以数组形式增加多个菜单
menuLevelClick
()
实现等级选择
menuBackground
Clik()
实现背景图片的选择
getType()返回一个难度等级
getFilename()获得图片的名字
initMenuBegin(
初始化开始按钮并设置同时给出了选择菜单后的相应
)
快捷键动作
initMenuBackgr
ound()
初始化背景菜单
initMenuAbout(
)
初始化关于菜单
initMenuOpitio
n()
初始化选择菜单
initMenuLevel(
)
初始化等级菜单以选择框形式选择等级
updadeMenuBegi
n()
游戏开始后更新开始菜
单
比原来增加了显示图片菜单项
〔3〕源代码见文件
4类ShowImage
〔1〕成员变量见表5
表5
成员变量描述变量种类名称
无成员变量
〔2〕方法见表5-1
表5-1
方法名功能备注
ShowImage()创立显示图片的窗口在游戏中供应帮助使用
〔3〕源代码见文件
5类Split
〔1〕成员变量见表6
表6
成员变量描述变量种类名称
难度等级IntHARDNORMLEASY
路径名称stringFilenamepath
〔2〕方法见表6-1
表6-1
方法名功能备注
Spilt()创立Spilt对象
Set()创立存档文件
BufferedImag用到了awt.image.
把背景图片切割成拼
e[]dividBufferedImage里的系统类
图块
get〔〕获得Spilt对象
〔3〕源代码见文件
6类Matrix
〔1〕成员变量见表7
表7
成员变量描述变量种类名称
面板Jpanelpanel
拼图行数introw
拼图列数Intcal
〔2〕方法见表7-1
表7-1
方法名功能备注
创立图块所在的按
Matrix()
钮并加监听且增加
到面板中
Init()
实现图块的随机排
列
打乱了图块的序次
〔3〕源代码见文件
7.类Grades
〔1〕成员变量见表8
表8
成员变量描述变量种类名称
自定义类DataData[]
拼图步数Intstep
拼图计时Inttime
〔2〕方法见表8-1
表8-1
方法名功能备注
Grades()构造函数
creatData()
生成拼图记录的文
件
readData()读取已经存在的记录以.rc格式保存记录的数据
Set()记录游戏的数据有打破记录的判断
Show()显示记录
〔3〕源代码见文件
8.类GameOver
〔1〕成员变量见表9
表9
成员变量描述变量种类名称
搬动步数intstep
游戏时间longcounttime
开始时间longnow
控制变量booleanStopgameOver
〔2〕方法见表9-1
表9-1
方法名功能备注
GameOver()构造函数创立对象
Start()控制游戏开始
judge()判断游戏可否结束
pause()实现游戏的暂停
getStep()
获得搬动图块的步
数
getTime()获得游戏时间
〔3〕源代码见文件
9.类point
〔1〕成员变量见表10
表10
成员变量描述变量种类名称
拼图行数introw
拼图列数intcal
〔2〕方法见表10-1
表10-1
方法名功能备注
getRow()获得行数
getCal()获得列数
Set()设置拼图行和列
〔3〕源代码见文件
10.类ButtonClick
〔1〕成员变量见表11
表11
成员变量描述变量种类名称
按钮JButtonButton[][]
行数和列数IntRowcal
结束标志booleanend
〔2〕方法见表11-1
表11-1
方法名功能备注
ButtonClick(获得各个参数6个参数
)
actionPerfor
med()
实现相应的鼠标动
作
〔3〕源代码见文件
11类Arg
〔1〕成员变量见表12
表12
成员变量描述变量种类名称
图片路径接
口
Stringpath
记录文件接
口
Stringrc
〔2〕代码见文件
三.运行收效
游戏启动后的初始界面图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程序界面风格设计还有待改良。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 拼图 总结报告