文档介绍:文献综述题目: Hannoi 塔游戏和其 java 具体实现过程学院名称: 电子与信息工程学院专业: 计算机科学与技术班级: 计科 12-3 姓名: ********** 定稿日期: 2015 年1月 10日 Java 程序设计课程设计报告( 20 12) 1 1概述 课程设计目的按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断; 能编写出具有良好风格的程序;掌握 JAV A 程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。 课程设计内容我设计的 Hannoi 塔,除了要编写的 6个 java 文件所给出的类外,还需要 jav a 系统提供的一些重要的类,如 JButton , JCheckBox 等。汉诺塔中有三个座,名字分别为 A, B, C 。刚开始的时候 A 塔上有 3 个大小不等的盘子,这些盘子从座底到座顶按着大小顺序依次摆放在 A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动盘子。释放鼠标来放置该盘子。程序要求用户在移动盘子的过程中,不允许吧大盘子放置在小盘子的上面,用户最终要完成的是把 A座上的全部盘子移动到 B座或 C座上 2 系统需求分析 系统目标可以正常运行程序,并且按照设计目的预想的完成具体功能。 主体功能 1)设计 GUI 界面的 Hannoi 塔。汉诺塔中有三个座,名字分别为 A,B,C。初始状态时 A塔上有 3个大小不等的盘子,这些盘子从座底到座顶按着大小顺序依次摆放在 A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动盘子。释放鼠标来放置该盘子。 2)程序要求用户在移动盘子的过程中,不允许吧大盘子放置在小盘子的上面, 用户最终要完成的是把 A座上的全部盘子移动到 B座或 C座上。 3) 用户可以通过 Hannoi 塔界面的提供的改变盘子数目功能来改变盘子的数目,同时可以改变盘子的大小以及改变盘子和界面的背景颜色,而且还可以选择控制背景音乐的播放。 4)用户可以通过单击 Hannoi 塔界面上提供的按钮,让程序自动完成把 A座上的盘子全部移动到 C座上。 5) 用户在移动盘子的过程中,可以随时单击 Hannoi 塔界面上提供的按钮,重新开始。 Hannoi 塔 2 开发环境 JAVA 程序设计语言及相应的集成开发环境, J2SDK 和 ECLIPSE 开发工具。 3 系统概要设计 系统的功能模块划分 1) ( 主类) HannoiWindow 类负责创建 Hannoi 塔的主窗口,该类含有 main 方法, Hanno i 塔从该类开始执行。 HannoiWindow 类的成员变量中有五种重要类型的对象、一个 int 基本型数据和一个 char 型数组。五种类型的对象分别是: Tower 、 JmenuBar 、 JmenuItem 和 Jbutton 对象。 HannoiWindow 类的主要成员的作用将在后面的详细设计中阐述。 2) Tower 类是 包中 Jpanel 容器的子类,创建的容器被添加到 HannoiWindow 窗口的中心。 Tower 类的成员变量中有四种重要类型的对象、一个 int 基本型数据和一个 char 型数组。四种类型的对象分别是: Disc 、 TowerPoint 、 HandleMouse 、和 AutoMoveDisc 对象。 Tower 类的主要成员的作用将在后面的详细设计中阐述。 3) Disc 类是 Jbutton 的一个子类,创建的对象时 Tower 容器中的一个按钮,用来表示 Tower 中的“盘子”。 4) TowerPoint 类负责在 Tower 中创建表示位置的塔点对象。 5) HandleMouse 类创建的对象负责处理鼠标事件。 6) AutoMoveDisc 类创建的对象负责自动移动盘子从一个座到另一个座。 Java 程序设计课程设计报告( 20 12) 3 4 系统详细设计 总体功能设计在设计 hannoi 塔时, 需编写 6个 java 源文件: 、 、 Towe