- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连交通大学JAVA技术实训报告
PAGE
PAGE 1
Java课程设计报告
题 目 汉诺塔
所在院系 软件学院
学生姓名 邓小文 专 业 土木+软件工程
班 级 08-1班 学 号 14号
2010年 7 月
一、总体设计
本系统的主要功能
本软件是汉诺塔游戏;
可以实现计时功能;
游戏结束时记录排名;
在玩游戏的同时还可以欣赏歌曲;
不知如何玩时可以实现自动演示;
2.系统包含的类及类之间的关系
为了实现本软件的各项功能,对要在本软件中需要用到的源文件进行总体设计。本系统共包括12个java源文件。
1.各个类之间的关系如图1所示。
Help
Help
Tower
HannoiTower
Music
Disk
TowerPoint
Time
Record
ShowRecord
People
图1-1各个类之间的关系
2.java源文件及其功能,如表所示。
表1java源文件及其功能
序号
文件名
主要功能
备注
1
Tower
用户可以在主窗口选择开始搬运盘子或自动演示。程序默认的情况是手动搬运盘子
2
HannoiTower
该文件生成的类负责创建Hannoi塔,汉诺塔由A、B、C三个塔组成,可以用鼠标搬运各个塔上的盘子。
3
Disk
该文件生成的类负责创建盘子对象
4
TowerPoint
该文件生成的类负责为Hannoi塔创建塔点对象,即盘子放置的位置。
5
Time
记录玩家完成游戏所需的时间
6
People
记录成绩能够排进排行榜的选手
7
About
关与本软件的制作信息
8
Help
帮助主题
9
Record
记录
10
Music
该文件负责生成一款播放器,可以选取玩家自己喜欢的歌曲欣赏。
播放的歌曲需要是“wav”等形式的。
11
ShowRecord
该文件用来实现玩家看英雄榜的情况。
二、详细设计
为了实现总体设计中的各个类之间的接口连接,使玩家能够顺畅的使用本软件进行游戏,考虑用详细设计来给玩家一一介绍。
以下是对本软件的详细设计:
1.主类Tower
(1)该类用到的主要成员变量见表5
表5类Tower主要成员变量
成员变量描述
变量类型
名称
汉诺塔对象
HannoiTower
tower
塔名数组
Char[]
TowerName
盘子数目
int
盘子数目
p
float
盘子从上到下缩小的比例
盘子大小
Int
盘宽,盘高
自动演示线程
Thread
Thread
file初级,file高级
File
初级高级排行榜记录
file1 ,file2
File
规则帮助文本
自动演示文字显示搬运过程
TextArea
信息条
背景音乐
Music
music
菜单条
JMenuBar
bar
菜单
JMenu
fileMenu1,fileMenu2,fileMenu3
菜单项
JMenuItem
开始游戏,重新开始,自动演示,英雄榜,退出, 背景音乐,帮助主题,关于汉诺塔;
显示时间
JTextField
显示时间
(2)方法见表6
表6类Tower主要方法
名称
功能
备注
Tower
创建窗口
构造方法
run
线程方法
actionPerformed
处理ActionEvent事件
接口方法
(3)源代码见文件Tower.java
2.类HannoiTower
(1)该类用到的主要成员变量见表7
表7类HannoiTower主要成员变量
成员变量描述
变量类型
变量名
位置
int
X,Y
p
float
盘子从上到下缩小的比例
搬运坐标
int
Shartx,Starty,Starti
盘子数目
int
盘子数目
塔名
char
Towername[]
时间
int
spendtime
塔点
TowerPoint
point[]
移动状态
boolean
move
盘子
Disk
盘子[]
显示移动信息
TextArea
信息条
用来计时
Time
计时
计时器是否启动
boolean
计时器是否启动
(2)方法见表8
表8类HannoiTower主要方法
名称
功能
paintComponent
绘制主要组件
mousePressed
处理鼠标托盘子事件
mouseMoved
处理鼠标移动事件
mouseDragged
处理鼠标拖动事件
mouseReleased
处理鼠标释放事件
mouseEntered
处理鼠标进入容器事件
mouseExited
处理鼠标离开事件
mouseClicked
处理单击鼠标事件
actionPerformed
处理ActionEvent事件
自动演示搬盘子
自动演示搬盘子
在塔中获取最上面盘子
在塔中获取最上面
您可能关注的文档
最近下载
- 预见性护理及早期风险识别PPT课件.pptx VIP
- 1.7 有理数的加减混合运算(分层练习).pdf VIP
- 打造“四有”体育课堂-发展学生核心素养.docx VIP
- 洋马发动机喷射泵拆卸更换调整.pptx VIP
- 2025年人工智能训练师(五级)初级资格理论考试练习题库(476题)含答案.pdf VIP
- 苏教版五年级小数的加法和减法练习题1(完美打印版).doc VIP
- 2023年上海市第二十四届初中物理竞赛(大同中学杯)初赛试卷及答案.docx
- 第5课 美丽河山我们的家 课件 人民版中华民族大家庭.pptx
- 英语人教版九年级全册Unit2 Section A教学设计.doc VIP
- 2025海康威视网络硬盘录像机(76+77+86+E系列)用户手册.docx VIP
文档评论(0)