hannoi塔java课设报告_hannoi塔(汉诺塔)--java课程设计报告.pdf

这篇报告详述了一个使用Java技术实现的汉诺塔游戏,包含计时功能、游戏排名记录、背景音乐播放及自动演示。游戏由A、B、C三座塔组成,用户可以选择手动或自动搬运盘子。报告详细介绍了软件的类结构和功能,包括Tower、HannoiTower、Disk等核心类的功能和实现方法。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gifhannoi塔(汉诺塔)--java课程设计报告.pdf

大连交通大学 J A V A 技术实训报告 1 J a v a 课 程 设 计 报 告 题 目 汉 诺 塔 所 在 院 系 软 件 学 院 学 生 姓 名 邓 小 文 专 业 土 木 + 软 件 工 程 班 级 0 8 - 1 班 学 号 1 4 号 2 0 1 0 年 7 月 1 7 日大连交通大学 J A V A 技术实训报告 - 2 - 一 、 总体 设计 1 . 本系 统的 主要功 能 (1) 本软件是汉诺塔游戏; ( 2 ) 可以实现计时功能; (3) 游戏结束时记录排名; (4) 在玩游戏的同时还可以欣赏歌曲; ( 5 ) 不知如何玩时可以实现自动演示; 2 . 系 统 包 含 的 类 及 类 之 间 的 关 系 为 了实 现 本软 件的 各 项功 能 ,对 要 在本 软 件中 需要 用 到的 源 文件 进 行总体设计。本系统共包括 12 个 java 源文件。 1.各个类之间的关系如图 1 所示。 H e l T o w e r H a nnoi T o w e r M us i D i s k T o w e r P oi nt T i m e R e c or d S how R e c or P e opl 图 1 - 1 各 个 类 之 间 的 关 系 2.j a v a 源 文 件 及 其 功 能 , 如 表 所 示 。 表 1 java 源 文 件 及 其 功 能大连交通大学 J A V A 技术实训报告 - 3 - 二、详细 设计 为 了 实 现 总 体 设 计 中 的 各 个 类 之 间 的 接 口 连 接 , 使 玩 家 能 够 顺 畅 的 使用本软件进行游戏,考虑用详细设计来给玩家一一介绍。 以下是对本软件的详细设计: 序 号 文件名 主要功能 备注 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 该 文 件 用 来 实 现 玩 家 看 英 雄 榜 的 情况。大连交通大学 J A V A 技术实训报告 - 4 - 1.主 类 T ow er (1)该类用到的主要成员变量见表 5 表 5 类 T o w e r 主 要 成 员 变 量 成员变量描述 变量类型 名称 汉诺塔对象 H a nnoi T o w e r t ow e r 塔名数组 C ha r [ ] T o w e r N a m e 盘子数目 i nt 盘子数目 p f l oa t 盘子从上到下缩小的比例 盘子大小 I nt 盘宽,盘高 自动演示线程 T hr e a d T hr e a d f i l e 初级, f i l e 高级 F i l e 初级高级排行榜记录 f i l e 1 ,f i l e 2 F i l e 规则帮助文本 自 动 演 示 文 字 显 示搬运过程 T e xt A r e a 信息条 背景音乐 M us i c m us i c 菜单条 J M e nuB a r ba r 菜单 J M e nu f i l e M e nu1,f i l e M e nu2,f i l e M e nu3 菜单项 J M e nuI t e m 开 始 游 戏 , 重 新 开 始 , 自 动 演 示 , 英 雄 榜 , 退 出 , 背 景 音 乐 , 帮 助 主 题 , 关于汉诺塔; 显示时间 JTextField 显示时间 (2)方法见表 6 表 6 类 T o w e r 主 要 方 法 名称 功能 备注 T o w e r 创建窗口 构造方法大连交通大学 J A V A 技术实训报告 - 5 - r un 线程方法 a c t i onP e r f or m e d 处理 A c t i onE ve nt 事件 接口方法 (3)源代码见文件 Tower.java 2.类 H ann oi Tow er (1)该类用到的主要成员变量见表 7 表 7 类 H a n n o i T o w e r 主 要 成 员 变 量 成员变量描述 变量类型 变量名 位置 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 类 H a n n o i T o w e r 主 要 方 法 名称 功能大连交通大学 J A V A 技术实训报告 - 6 - paintComponent 绘制主要组件 mousePressed 处理鼠标托盘子事件 mouseMoved 处理鼠标移动事件 mouseDragged 处理鼠标拖动事件 mouseReleased 处理鼠标释放事件 mouseEntered 处理鼠标进入容器事件 mouseExited 处理鼠标离开事件 mouseClicked 处理单击鼠标事件 actionPered 处理 A c t i onE ve nt 事件 自动演示搬盘子 自动演示搬盘子 在塔中获取最上面盘子 在塔中获取最上面盘子 在 塔中 获取 最 上面 盘子 的上方位置 在塔中获取最上面盘子的上方 位置 在 塔中 获取 最 上面 盘子 的位置 在塔中获取最上面盘子的位置 (3)源代码见文件 HannoiTower.java 3.类 T owe rP oin t (1)该类用到的主要成员变量见表 9 表 9 类 T o w e r P o i n t 主 要 成 员 变 量 成员变量描述 变量类型 变量名 位置 Int X,Y 查看是否有盘 子 boolean 有盘子 创建盘子 Disk 盘子 创建塔 HannoiTower con (2)方法见表 10 表 1 0 类 T o w e r P o i n t 主 要 方 法 名称 功能 是否有盘子 返回“有盘子”变量的状态大连交通大学 J A V A 技术实训报告 - 7 - set 有盘子 设置有盘子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值