java课程设计报告
题目一 Hannoi塔
1.设计内容及要求 1.1 汉诺塔算法的基本要求
(1) 设计GUI界面的Hannoi塔。汉诺塔中有三个座,名字分别为A,B,C。初始状态时A塔上有3个大小不等的盘子,这些盘子从座底到座顶按着大小顺序依次摆放在A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动盘子。释放鼠标来放置该盘子。
(2) 程序要求用户在移动盘子的过程中,不允许吧大盘子放置在小盘子的上
面,用户最终要完成的是把A座上的全部盘子移动到B座或C座上。
(3) 用户可以通过Hannoi塔界面的提供的改变盘子数目功能来改变盘子的
数目,同时可以改变盘子的大小以及改变盘子和界面的背景颜色,而且还可以选择控制背景音乐的播放。
(4) 用户可以通过单击Hannoi塔界面上提供的按钮,让程序自动完成把A
座上的盘子全部移动到C座上。
(5) 用户在移动盘子的过程中,可以随时单击Hannoi塔界面上提供的按钮,
重新开始。
1.2 需实现的主要功能
① 完成汉诺塔的“手工移动演示”; ② 完成汉诺塔的“自动移动演示”;
③ 增加计时功能,即显示用户完成移动盘子所花费的时间; ④ 用户可以设置最大和最小盘子的大小; ⑤ 用户可以选择播放和暂停背景音乐; ⑥ 用户可以设置盘子的数目;
⑦ 用户可以设置盘子的颜色以及背景颜色;
⑧ 用户可以将自动移动盘子的文本信息保存到文件;
2. 需求分析
2.1 界面及布局设计
系统的整体布局为BorderLayout布局, 采用了按钮、面板、复选框、文本框、文本区和拆分窗格等组件, 按钮的有以下几个功能:1.可以改变盘子数目;2.可以改变盘子大小;3.可以改变盘子的颜色和背景颜色;4.可以重新开始游戏