资源描述
大连交通大学JAVA技术实训报告Java课程设计报告题 目 汉诺塔 所在院系 软件学院 学生姓名 邓小文 专 业 土木+软件工程班 级 08-1班 学 号 14号 2010年 7 月 17 日- 16 -一、总体设计1. 本系统的主要功能(1) 本软件是汉诺塔游戏;(2) 可以实现计时功能;(3) 游戏结束时记录排名;(4) 在玩游戏的同时还可以欣赏歌曲;(5) 不知如何玩时可以实现自动演示;2系统包含的类及类之间的关系为了实现本软件的各项功能,对要在本软件中需要用到的源文件进行总体设计。本系统共包括12个java源文件。1各个类之间的关系如图1所示。HelpTowerHannoiTowerMusicDiskTowerPointTimeRecordShowRecordPeople图1-1各个类之间的关系2java源文件及其功能,如表所示。表1java源文件及其功能序号文件名主要功能备注1Tower用户可以在主窗口选择开始搬运盘子或自动演示。程序默认的情况是手动搬运盘子2HannoiTower该文件生成的类负责创建Hannoi塔,汉诺塔由A、B、C三个塔组成,可以用鼠标搬运各个塔上的盘子。3Disk该文件生成的类负责创建盘子对象4TowerPoint该文件生成的类负责为Hannoi塔创建塔点对象,即盘子放置的位置。5Time记录玩家完成游戏所需的时间6People记录成绩能够排进排行榜的选手7About关与本软件的制作信息8Help帮助主题9Record记录10Music该文件负责生成一款播放器,可以选取玩家自己喜欢的歌曲欣赏。播放的歌曲需要是“wav”等形式的。11ShowRecord该文件用来实现玩家看英雄榜的情况。二、详细设计为了实现总体设计中的各个类之间的接口连接,使玩家能够顺畅的使用本软件进行游戏,考虑用详细设计来给玩家一一介绍。以下是对本软件的详细设计:1主类Tower(1)该类用到的主要成员变量见表5表5类Tower主要成员变量成员变量描述变量类型名称汉诺塔对象HannoiTowertower塔名数组CharTowerName盘子数目int盘子数目pfloat盘子从上到下缩小的比例盘子大小Int盘宽,盘高自动演示线程ThreadThreadfile初级,file高级File初级高级排行榜记录file1 ,file2File规则帮助文本自动演示文字显示搬运过程TextArea信息条背景音乐Musicmusic菜单条JMenuBarbar菜单JMenufileMenu1,fileMenu2,fileMenu3菜单项JMenuItem开始游戏,重新开始,自动演示,英雄榜,退出, 背景音乐,帮助主题,关于汉诺塔;显示时间JTextField显示时间(2)方法见表6表6类Tower主要方法名称功能备注Tower创建窗口构造方法run线程方法actionPerformed处理ActionEvent事件接口方法(3)源代码见文件Tower.java2类HannoiTower(1)该类用到的主要成员变量见表7表7类HannoiTower主要成员变量成员变量描述变量类型变量名位置intX,Ypfloat盘子从上到下缩小的比例搬运坐标intShartx,Starty,Starti盘子数目int盘子数目塔名charTowername时间intspendtime塔点TowerPointpoint移动状态booleanmove盘子Disk盘子显示移动信息TextArea信息条用来计时Time计时计时器是否启动boolean计时器是否启动(2)方法见表8表8类HannoiTower主要方法名称功能paintComponent绘制主要组件mousePressed处理鼠标托盘子事件mouseMoved处理鼠标移动事件mouseDragged处理鼠标拖动事件mouseReleased处理鼠标释放事件mouseEntered处理鼠标进入容器事件mouseExited处理鼠标离开事件mouseClicked处理单击鼠标事件actionPerformed处理ActionEvent事件自动演示搬盘子自动演示搬盘子在塔中获取最上面盘子在塔中获取最上面盘子在塔中获取最上面盘子的上方位置在塔中获取最上面盘子的上方位置在塔中获取最上面盘子的位置在塔中获取最上面盘子的位置(3)源代码见文件HannoiTower.java3类TowerPoint (1)该类用到的主要成员变量见表9表9类TowerPoint主要成员变量成员变量描述变量类型变量名位置IntX,Y查看是否有盘子boolean有盘子创建盘子Disk盘子创建塔HannoiTowercon(2)方法见表10表10类TowerPoint主要方法名称功能是否有盘子返回“有盘子”变量的状态set有盘子设置有盘子getX得到盘子的横坐标getY得到盘子的纵坐标放置盘子将盘子放到塔点上获取盘子获取盘子(3)源代码见文件TowerPoint.java4类Disk(1)该类用到的主要成员变量见表11表11类Disk主要成员变量成员变量描述变量类型变量名数目intnumber上方有无盘子boolean上方有盘(2)方法见表12表12类Disk主要方法名称功能get上方有盘 得到“上方有盘”set上方有盘设置“上方有盘”getNumber得到盘子号(3)源代码见文件Disk.java5类Time(1)该类用到的主要成员变量见表13表13类Time主要成员变量成员变量描述变量类型变量名时间inttime计时器javax.swing.Timer计时器显示时间JTextField显示时间计时器是否启动boolean计时器是否启动(2)方法见表14表14类Time主要方法名称功能actionPerformed处理ActionEvent事件begin设置开始计时rebegin设置重新开始计时pause设置停止计时clear设置计时清零且不显示(3)源代码见文件Time.java6类Music(1)该类用到的主要成员变量见表15表15类Music主要成员变量成员变量描述变量类型变量名线程Threadthread音频对象AudioClipclip按钮ButtonbuttonPlay,buttonLoop,buttonStop选择框Choicechoice面板Panelp1,p2盒式容器BoxbaseBox,boxV1,boxV2标签Label标签1,标签2(2)方法见表16表16类Music主要方法名称功能Music 创建背景音乐对话框run启动线程actionPerformed处理ActionEvent事件(3)源代码见文件Music.java7类People(1)该类用到的主要成员变量见表17表17类People主要成员变量成员变量描述变量类型变量名测试者姓名Stringname测试所用时间inttime(2)方法见表18表18类People主要方法名称功能People获取测试者姓名getTime获取测试所用时间(3)源代码见文件People.java8类Record(1)该类用到的主要成员变量见表19表19类Record主要成员变量变量类型变量名功能inttime记录游戏所用时间intn判断级别JTextFileyourName记录测试者的名字FilegradeFile存放成绩的文件JButton确定,取消是否保存成绩的按钮(2)方法见表20表20类Record主要方法名称功能Record创建保存成绩窗口setTime设置时间setFile设置文件actionPerformed处理ActionEvent事件(3)源代码见文件Record.java9类ShowRecord(1)该类用到的主要成员变量见表21表21类ShowRecord主要成员变量变量类型变量名功能FilegradeFile存放成绩的文件JButton确定,清除按钮JTextAreaShow显示成绩的区域(2)方法见表22表22类ShowRecord主要方法名称功能ShowRecord创建显示成绩窗口actionPerformed处理ActionEvent事件(3)源代码见文件ShowRecord.java10类Help(1)该类用到的主要成员变量见表25表25类Help主要成员变量变量类型变量名功能TextAreatext存放帮助主题的文件FileReaderf帮助主题的文本文档(2)方法见表26表26类Help主要方法名称功能Help创建帮助窗口三、运行效果 1、将10个java文件打包保存到同一个文件夹中,并且分别编译生成相应的字节码文件。然后用java解释器如下运行主类:源代码java Tower1 系统主界面效果如图3-1所示:图2-1 启动画面 此时游戏是隐藏着的,点击菜单栏的“开始游戏”-“开始”开始Hannoi Tower游戏。2、hannoita录入界面点击 “开始游戏”-“开始”之后进入游戏状态,同时下边的计时器开始计时。在这个界面下可以看到,盘子是以按钮形式存在的,有一个信息条,显示时间条和一个菜单条。玩家可以点击游戏开始玩游戏,可以看软件自动演示,可以查看英雄榜的情况;如果嫌游戏单调,还可以听听软件自带的歌曲;如果不知道怎么玩游戏,可以点击帮助查看游戏规则。效果如图3-2所示:图2-2 游戏界面及个功能菜单点击盘子时,所选的盘子会变成蓝色3、在“开始游戏”菜单下可以选择游戏的级别,选择“级别”-“初级”是5个盘子,选择“级别”-高级是6个盘子。默认是初级,5个盘子。效果如图3-3所示:图2-3选择游戏的级别4、玩家点击“开始游戏”-“自动演示”,它将自动搬运盘子,同时信息条同步显示搬运信息。效果如图2-4所示:图2-4自动演示5当玩家把所有的盘子都搬到c塔时,玩家成功过关软件会自动停止计时,并且弹出记录榜对话框,玩家输入姓名,软件记录下玩家的姓名和游戏所用时间。效果如图2-5所示:图2-5记录榜6、玩家点击菜单栏“排行榜”-“初级榜”弹出初级排行榜对话框,再点击“显示”,显示出初级排行榜,点击“清除”清除排行榜记录。效果如图2-6所示:图2-6初级排行榜高级排行榜同理,点击“排行榜”-“高级榜”显示高级排行榜。7、点击“设置”-“背景音乐”,玩家可以选择自己喜欢的歌曲,然后点播放进行欣赏;如果玩家喜欢听某一首歌,可以点击循环按钮,反复收听同一首歌曲;也可以点击停止按钮暂停播放。效果如图4所示:图2-7 播放器8、点击“设置”-“背景色”可以改变背景染色,有白、绿、黄三种颜色可供选择。效果如图2-8所示:图2-8改变背景色9、如果玩家不会玩汉诺塔这款游戏,可以点击帮助中的帮助主题查看游戏规则。如果向了解关于制作的信息,就点击关于Hannoi Tower。效果如图2-9和图2-10所示:图2-9规则图2-10 关于Hannoi Tower
展开阅读全文