Hannoi塔(汉诺塔)--Java课程设计报告_第1页
Hannoi塔(汉诺塔)--Java课程设计报告_第2页
Hannoi塔(汉诺塔)--Java课程设计报告_第3页
Hannoi塔(汉诺塔)--Java课程设计报告_第4页
Hannoi塔(汉诺塔)--Java课程设计报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java课程设计报告标题汉诺塔软件学院,系学生名字邓晓文专攻土木软件工程08级-1级14号2010年7月17日一、总体设计1.该系统的主要功能(1)本软件是一款汉诺塔游戏;(2)可以实现定时功能;(3)在游戏结束时记录排名;(4)你可以一边玩游戏一边欣赏歌曲;(5)不知道怎么玩的时候可以自动演示;2.系统中包含的类以及类之间的关系为了实现该软件的功能,对该软件所需的源文件进行了整体设计。该系统包括12个java源文件。1.类之间的关系如图1所示。帮助塔汉诺威音乐唱片TowerPoint时间记录ShowRecord人图1-1类之间的关系2.Java源文件及其功能如表所示。表1java源文件及其功

2、能序列号文件名主要功能评论1塔用户可以选择开始端盘子或者在主窗口自动演示。该程序的默认情况是手动端盘子2汉诺威由这个文件生成的类负责创建汉诺威塔,它由三个塔组成:A、B和C,每个塔上的板可以用鼠标携带。3唱片该文件生成的类负责创建板对象4TowerPoint该文件生成的类负责为汉诺威塔创建塔点对象,即放置板的位置。5时间记录玩家完成游戏所需的时间6人记录分数可以在排名中排名的玩家7关于与本软件生产相关的信息8帮助帮助主题9记录记录10音乐这个文件负责生成一个播放器,它可以选择播放器喜欢的歌曲。要播放的歌曲必须是“wav”的形式。11ShowRecord该文件用于实现玩家观看英雄榜的情况。二、详

3、细设计为了在总体设计中实现各个类之间的接口连接,使玩家能够顺利使用软件玩游戏,考虑将详细设计逐一介绍给玩家。以下是该软件的详细设计:1.主塔楼(1)这个类中使用的主要成员变量如表5所示表5塔架的主要构件变量成员变量描述可变类型名字汉诺塔物体汉诺威塔塔名数组CharTowerName塔板数int塔板数p漂浮物盘子从上到下的刻度板的尺寸Int光盘宽度和光盘高度自动演示线程线线文件基本,文件高级文件初级高级排行榜记录文件1,文件2文件规则帮助文本文本显示处理过程的自动演示文本区域信息栏背景音乐音乐音乐菜单栏JMenuBar酒吧菜单JMenu文件菜单1、文件菜单2、文件菜单3菜单项JMenuItem开

4、始游戏,重启,自动演示,英雄列表,退出,背景音乐,帮助主题,关于河内塔;秀场JTextField秀场(2)方法见表6表6塔架的主要方法名字功能评论塔创建窗口施工方法奔跑穿线法执行的操作处理操作事件事件接口方法(3)源代码见文件Tower.java2.HannoiTower类(1)该类中使用的主要成员变量如表7所示表7汉诺威的主要成员变量成员变量描述可变类型变量名位置intx,Yp漂浮物盘子从上到下的刻度操纵坐标int夏尔泰克斯,史达蒂,史达蒂塔板数int塔板数塔名茶Towername时间int花费时间塔尖TowerPoint要点移动状态布尔型移动盘子唱片盘子显示移动信息文本区域信息栏用于计时时

5、间定时计时器启动了吗布尔型计时器启动了吗(2)方法见表8表8汉能的主要方法名字功能油漆成分画出主要部件鼠标按下处理鼠标托盘子事件鼠标移动处理鼠标移动事件鼠标拖动处理鼠标拖动事件鼠标释放处理鼠标释放事件鼠标输入处理鼠标进入容器事件鼠标退出处理鼠标离开事件鼠标点击处理鼠标点击事件执行的操作处理操作事件事件自动演示移动的盘子自动演示移动的盘子拿到塔里最上面的盘子拿到塔里最上面的盘子获取塔中最上面的板的上部位置获取塔中最上面的板的上部位置获取塔中最上面的板的位置获取塔中最上面的板的位置(3)源代码见文件HannoiTower.java3.TowerPoint类(1)这个类中使用的主要成员变量如表9所示

6、表9 TowerPoint的主要成员变量成员变量描述可变类型变量名位置Intx,Y看看有没有盘子布尔型有盘子创建盘子唱片盘子创建塔汉诺威精读(2)方法见表10表10塔点的主要方法名字功能有盘子吗返回“带盘”变量的状态套有盘子有盘子getX得到盘子的横坐标getY得到盘子的坐标摆放餐具把盘子放在塔上拿盘子拿盘子(3)源代码见文件TowerPoint.java4.类磁盘(1)该类中使用的主要成员变量如表11所示表11类磁盘的主要成员变量成员变量描述可变类型变量名数字int数字上面有盘子吗布尔型上面有一个托盘(2)方法见表12表12类磁盘的主要方法名字功能上面有一个磁盘得到“上面有一个盘子”布景上方

7、有一个盘子设置“上面有一个托盘”getNumber获取车牌号码(3)源代码见文件Disk.java5.上课时间(1)这个类中使用的主要成员变量如表13所示表13上课时间的主要成员变量成员变量描述可变类型变量名时间int时间计时器javax.swing .计时器计时器秀场JTextField秀场计时器启动了吗布尔型计时器启动了吗(2)方法见表14表14主要计时方法名字功能执行的操作处理操作事件事件开始设置开始时间rebegin设置重启时间中止设置停止时间清楚的将计时器设置为零,不显示(3)源代码见文件Time.java6.音乐课(1)该类中使用的主要成员变量如表15所示表15音乐的主要成员变量成

8、员变量描述可变类型变量名线线线音频对象音频剪辑夹子按钮按钮按钮播放,按钮循环,按钮停止选择框选择选择面板面板p1,p2盒式集装箱包厢基本盒,盒V1,盒V2标签标签标签1,标签2(2)方法见表16表16音乐的主要方法名字功能音乐创建背景音乐对话框奔跑开始线程执行的操作处理操作事件事件(3)源代码见文件Music.java7.像人一样(1)该类中使用的主要成员变量如表17所示表17人的主要成员变量成员变量描述可变类型变量名测试人员的姓名线名字测试所需的时间int时间(2)方法见表18表18人的主要方法名字功能人获取测试仪名称获取时间获得测试时间(3)源代码见文件People.java8.班级记录(

9、1)该类中使用的主要成员变量如表19所示表19班级记录的主要成员变量可变类型变量名功能int时间记录在游戏中花费的时间intn判断水平JTextFile你的名字记录测试人员的姓名文件gradeFile保存成绩文档按钮好的,取消保存或不保存结果的按钮(2)方法见表20表20课堂记录的主要方法名字功能记录创建保存结果窗口设置时间规定时间setFile安装文件执行的操作处理操作事件事件(3)源代码见文件Record.java9.类显示记录(1)该类中使用的主要成员变量如表21所示表21展示记录的主要成员变量可变类型变量名功能文件gradeFile保存成绩文档按钮好的,清楚了按钮JTextArea显示

10、显示结果的区域(2)方法见表22表22展示记录的主要方法名字功能展示记录创建显示结果的窗口执行的操作处理操作事件事件(3)源代码见文件ShowRecord.java10.班级帮助(1)该类中使用的主要成员变量如表25所示表25类帮助的主要成员变量可变类型变量名功能文本区域文本保存帮助主题的文件文件阅读器f帮助主题的文本文档(2)方法见表26表26类帮助的主要方法名字功能帮助创建帮助窗口三、操作效果1.将10个java文件打包并保存在同一个文件夹中,并编译它们以生成相应的字节码文件。然后使用java解释器运行主类,如下所示:源代码java塔1系统主界面效果如图3-1所示:图2-1启动屏幕这时,游

11、戏被隐藏了。单击菜单栏中的开始游戏-开始,开始汉诺塔游戏。2.hannoita输入接口点击“开始游戏”-“开始”进入游戏状态,同时底部的计时器开始计时。在这个界面中,你可以看到板块以按钮的形式存在,有一个信息栏,一个显示时间栏和一个菜单栏。玩家可以点击游戏开始玩游戏,观看软件自动演示,并查看英雄榜的情况;如果游戏很单调,你也可以听软件附带的歌曲;如果您不知道如何玩游戏,可以单击“帮助”查看游戏规则。效果如图3-2所示:图2-2游戏界面和功能菜单当您单击某个板时,选定的板会变成蓝色3.在“开始游戏”菜单下,您可以选择游戏的级别。选择“级别”-“主要”是5个板,“级别”-“高级”是6个板。默认为初

12、级,5个盘子。效果如图3-3所示:图2-3选择游戏级别4.玩家点击“开始游戏”-“自动演示”,自动携带菜肴,信息栏同步显示携带信息。效果如图2-4所示:图2-4自动演示5当玩家将所有的盘子移动到塔台C时,软件会自动停止计时并弹出记录列表对话框。玩家输入他的名字,软件记录下玩家的名字和在游戏中花费的时间。效果如图2-5所示:图2-5记录列表6.玩家点击菜单栏中的公告牌-初级公告牌,弹出初级公告牌对话框,然后点击显示,显示初级公告牌,点击清除,清除公告牌记录。效果如图2-6所示:图2-6主要排名高级排名也是如此。单击排名-高级排名显示高级排名。7.点击“设置”-“背景音乐”,玩家可以选择自己喜欢的歌曲,然后点击“播放”来欣赏;如果玩家喜欢听某首歌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论