1、 Java 课程设计报告 题 目 Hannoi 塔 所在院系 学生姓名 XXX 专 业 班 级 学 号 2013 年 月 日 JAV A 课程设计报告 - 1 - 第一章第一章 总体设计总体设计 1.1 本系统的主要功能 用户可以用鼠标选中盘子,然后通过拖动鼠标来移动该盘子,释放鼠标来放置该 盘子。同时 Hannoi 塔界面提供了选择初级、中级、高级和神级四个级别,每次开 始和放置盘子都有背景音乐。除此之外,我还配置了计时功能,对用户将盘子从 A 座移动到 C 座进行计时。 1.2 系统包含的类及类之间的关系 本系统共包括 6 个 java 源文件。 如图 1-1 所示。 图 1-1 类之间的
2、关系 2.2 java 源文件及其功能 HannoiWindow 主类 Tower TowerPoinDisc HandleMouse AutoMoveDisc Music JAV A 课程设计报告 - 2 - 4 TowerPoint.java 负责在 Tower 中创建表示位置的 塔点对象。 5 HandleMouse.java 创建的对象负责处理鼠标事件。 6 AutoMoveDisc.java 负责自动将盘子从 A 座移动到 C 座 序号 文件名 主要功能 备注 1 HannoiWindow.java 该 JAVA 文件生成的类负责创建 Hannoi 塔的主窗口。该类含有 main 方
3、法, Hannoi 塔从此类开始 执行 2 Tower.java Tower 类是 javax.Swing 包中 JPanel 容器的子类,创建的容器 被添加到 HannoiWindow 窗口中 心。 3 Disc.java 创建的对象是 Tower 容器的一个 按钮,用来表示盘子。 JAV A 课程设计报告 - 3 - 第二章 详细设计 2 21 1HannoiWindowHannoiWindow 主类主类 (1 1)成成员变量见员变量见表表 2 2 (2 2) 成员变量描述成员变量描述 变量类型变量类型 名称名称 塔名数组 towerName towerName 盘子数目 int amou
4、ntOfDisc 菜单条 JMenuBar bar 选择级别 JMenu menuGrade 初级 JMenuItem oneGradeItem 重新开始 Button renew 自动演示 Button autoButton (2 2)方法见表)方法见表 3 3 表 3 名称名称 功能功能 备注备注 HannoiWindow 创建窗口 构造方法 ActionPerfomed 处理 ActionPerfomed 事件 接口方法 Main 程序开始运行 (3 3)源代码见文件)源代码见文件 HannoiWindow.javaHannoiWindow.java 2 2类类 TowerTower (
5、1 1)成员变量见表)成员变量见表 4 4 表 2 JAV A 课程设计报告 - 4 - 表 4 成员变量描述 变量类型 名称 塔点数组 int pointA (2 2)方法见表)方法见表 5 5 表 5 方法名 功能 备注 Tower Tower 容器初始化 构造方法 (3 3)源代码见文件)源代码见文件 Tower.javaTower.java 3 3类类 DiscDisc (1 1)成员变量见表)成员变量见表 6 6 表 6 成员变量描述 变量类型 名称 盘子号码 int number (2 2)方法见表)方法见表 7 7 表 7 方法名 功能 备注 Disc() 创建盘子对象 构造方法
6、 setNumber(int) 设置盘子数字号码 getNumber() 返回盘子数字号码 setPoint() 设置盘子所在塔点 getPoint() 返回盘子所在塔点 (3 3)源代码见文件)源代码见文件 disc.javadisc.java 4.类 TowerPoint (1)成员变量表 JAV A 课程设计报告 - 5 - 成员变量描述 变量类型 名称 塔点坐标 int x,y 塔点有盘子 boolean haveDisc (2 2)方法表方法表 方法名 功能 备注 isHaveDisc() 是否有盘子 Get() 返回塔点坐标 putDisc() 将盘子放在塔点上 3 3)源代码见文件)源代码见文件 TowerPoint.javaTowerPoint.java 5 类 HandleMouse (1)成员变量表 成员变量描述 变量类型 名称 数组 int pointA (2)方法