面向对象语言课程设计
题 目 汉诺塔游戏
学 院 数学与 信息工程学院
专 业 计算机科学与技术
班 级 061
班
学 号 200632225114
学生姓名 龚建飞
指导教师 刘永刚
编写日期 2
月
22
日
目 录
1 系统需求分析.....................................................1
2 系统概述.........................................................1
3 系统运行环境.....................................................1
4 功能需求描述.....................................................1
5 总体设计.........................................................2
6 系统模块结构图...................................................2
7 程序模块设计.....................................................2
8 系统使用说明.....................................................16
Java 程序设计课程设计报告书
——汉诺塔游戏
一、系统需求分析
使用 java 面向对象语言设计汉诺塔游戏,此游戏要求:
1、界面要求:
1). 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2). 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
2、其他要求:
1). 标识符命名遵循 Windows 命名规范。
2). 能够注意各种异常处理,注重提高程序运行效率。
二、系统概述
“汉诺塔”游戏是利用面向对象语言 java 写的一个简单的游戏,它的目标是把
最左边塔柱上的盘子按一定的规则移动到最右过的塔柱上去,规则如下:
1.有三根塔柱 A,B,C。A 杆上有若干盘子(盘子可以自己规定)。
2.每次移动一个盘子,小的只能叠在大的上面。
3.把所有碟子从 A 塔柱全部移到 C 塔柱上
如果 A 盘上的盘子全都移动到了 C 塔柱上,则游戏成功;否则失败。
三、系统运行环境
任何具有 jre 运行环境的任何机器
四、功能需求描述
1、盘子个数输入功能设计:输入盘子个数,在界面显示相应数目的盘子
2、鼠标移动盘子功能设计:按住盘子,可以拖动盘子移动到相应的塔点上
3、界面要求:
1). 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2). 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
4、其他要求:
1). 标识符命名遵循 Windows 命名规范。
2). 能够注意各种异常处理,注重提高程序运行效率。
五、总体设计
主类:
类名:Tower
继承的父类: JFrame
实现的接口: ActionListener,Runnable
内部类:
1)类名:HannoiTower
继承的父类:JPanel
实现的接口:MouseListener,MouseMotionListener
2)类名:Disk
继承的父类:Button
3)类名:TowerPoint
六、系统模块结构图
七、程序模块设计
1、功能描述
文件名 功能描述
tower.java
系统开始运行的界面
HannoiTower.java
画盘子和塔点以及处理盘子被移动时的事件
Disk.java
构造盘子以及盘子信息
TowerPoint.java
塔点的信息
2、用户界面设计
1)初始界面
进入游戏时初始界
面如下:
- 1
- 2
前往页