Hannoi塔汉诺塔Java课程设计报告.docx

上传人:b****4 文档编号:6140353 上传时间:2023-05-09 格式:DOCX 页数:17 大小:158.46KB
下载 相关 举报
Hannoi塔汉诺塔Java课程设计报告.docx_第1页
第1页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第2页
第2页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第3页
第3页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第4页
第4页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第5页
第5页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第6页
第6页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第7页
第7页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第8页
第8页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第9页
第9页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第10页
第10页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第11页
第11页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第12页
第12页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第13页
第13页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第14页
第14页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第15页
第15页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第16页
第16页 / 共17页
Hannoi塔汉诺塔Java课程设计报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Hannoi塔汉诺塔Java课程设计报告.docx

《Hannoi塔汉诺塔Java课程设计报告.docx》由会员分享,可在线阅读,更多相关《Hannoi塔汉诺塔Java课程设计报告.docx(17页珍藏版)》请在冰点文库上搜索。

Hannoi塔汉诺塔Java课程设计报告.docx

Hannoi塔汉诺塔Java课程设计报告

Java课程设计报告

题目汉诺塔

所在院系  软件学院 

学生邓小文专业土木+软件工程

班级08-1班学号14号

2010年7月17日

一、总体设计

1.本系统的主要功能

(1)本软件是汉诺塔游戏;

(2)可以实现计时功能;

(3)游戏结束时记录排名;

(4)在玩游戏的同时还可以欣赏歌曲;

(5)不知如何玩时可以实现自动演示;

2.系统包含的类及类之间的关系

为了实现本软件的各项功能,对要在本软件中需要用到的源文件进行总体设计。

本系统共包括12个java源文件。

1.各个类之间的关系如图1所示。

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事件

自动演示搬盘子

自动演示搬盘子

在塔中获取最上面盘子

在塔中获取最上面盘子

在塔中获取最上面盘子的上方位置

在塔中获取最上面盘子的上方位置

在塔中获取最上面盘子的位置

在塔中获取最上面盘子的位置

(3)源代码见文件HannoiTower.java

3.类TowerPoint

(1)该类用到的主要成员变量见表9

表9类TowerPoint主要成员变量

成员变量描述

变量类型

变量名

位置

Int

X,Y

查看是否有盘子

boolean

有盘子

创建盘子

Disk

盘子

创建塔

HannoiTower

con

(2)方法见表10

 

表10类TowerPoint主要方法

名称

功能

是否有盘子

返回“有盘子”变量的状态

set有盘子

设置有盘子

getX

得到盘子的横坐标

getY

得到盘子的纵坐标

放置盘子

将盘子放到塔点上

获取盘子

获取盘子

(3)源代码见文件TowerPoint.java

4.类Disk

(1)该类用到的主要成员变量见表11

表11类Disk主要成员变量

成员变量描述

变量类型

变量名

数目

int

number

上方有无盘子

boolean

上方有盘

(2)方法见表12

表12类Disk主要方法

名称

功能

get上方有盘

得到“上方有盘”

set上方有盘

设置“上方有盘”

getNumber

得到盘子号

(3)源代码见文件Disk.java

5.类Time

(1)该类用到的主要成员变量见表13

表13类Time主要成员变量

成员变量描述

变量类型

变量名

时间

int

time

计时器

javax.swing.Timer

计时器

显示时间

JTextField

显示时间

计时器是否启动

boolean

计时器是否启动

(2)方法见表14

表14类Time主要方法

名称

功能

actionPerformed

处理ActionEvent事件

begin

设置开始计时

rebegin

设置重新开始计时

pause

设置停止计时

clear

设置计时清零且不显示

(3)源代码见文件Time.java

6.类Music

(1)该类用到的主要成员变量见表15

表15类Music主要成员变量

成员变量描述

变量类型

变量名

线程

Thread

thread

音频对象

AudioClip

clip

按钮

Button

buttonPlay,buttonLoop,buttonStop

选择框

Choice

choice

面板

Panel

p1,p2

盒式容器

Box

baseBox,boxV1,boxV2

标签

Label

标签1,标签2

(2)方法见表16

表16类Music主要方法

名称

功能

Music

创建背景音乐对话框

run

启动线程

actionPerformed

处理ActionEvent事件

(3)源代码见文件Music.java

7.类People

(1)该类用到的主要成员变量见表17

表17类People主要成员变量

成员变量描述

变量类型

变量名

测试者

String

name

测试所用时间

int

time

(2)方法见表18

表18类People主要方法

名称

功能

People

获取测试者

getTime

获取测试所用时间

(3)源代码见文件People.java

8.类Record

(1)该类用到的主要成员变量见表19

表19类Record主要成员变量

变量类型

变量名

功能

int

time

记录游戏所用时间

int

n

判断级别

JTextFile

yourName

记录测试者的名字

File

gradeFile

存放成绩的文件

JButton

确定,取消

是否保存成绩的按钮

(2)方法见表20

表20类Record主要方法

名称

功能

Record

创建保存成绩窗口

setTime

设置时间

setFile

设置文件

actionPerformed

处理ActionEvent事件

(3)源代码见文件Record.java

9.类ShowRecord

(1)该类用到的主要成员变量见表21

表21类ShowRecord主要成员变量

变量类型

变量名

功能

File

gradeFile

存放成绩的文件

JButton

确定,清除

按钮

JTextArea

Show

显示成绩的区域

(2)方法见表22

表22类ShowRecord主要方法

名称

功能

ShowRecord

创建显示成绩窗口

actionPerformed

处理ActionEvent事件

(3)源代码见文件ShowRecord.java

10.类Help

(1)该类用到的主要成员变量见表25

表25类Help主要成员变量

变量类型

变量名

功能

TextArea

text

存放帮助主题的文件

FileReader

f

帮助主题的文本文档

(2)方法见表26

表26类Help主要方法

名称

功能

Help

创建帮助窗口

三、运行效果

1、将10个java文件打包保存到同一个文件夹中,并且分别编译生成相应的字节码文件。

然后用java解释器如下运行主类:

源代码javaTower

1系统主界面

效果如图3-1所示:

图2-1启动画面

此时游戏是隐藏着的,点击菜单栏的“开始游戏”->“开始”开始HannoiTower游戏。

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、如果玩家不会玩汉诺塔这款游戏,可以点击帮助中的帮助主题查看游戏规则。

如果向了解关于制作的信息,就点击关于HannoiTower。

效果如图2-9和图2-10所示:

图2-9规则

图2-10关于HannoiTower

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2