面向对象程序设计——java课程设计

面向对象程序设计——java课程设计

ID:12948039

大小:835.00 KB

页数:37页

时间:2018-07-19

面向对象程序设计——java课程设计_第1页
面向对象程序设计——java课程设计_第2页
面向对象程序设计——java课程设计_第3页
面向对象程序设计——java课程设计_第4页
面向对象程序设计——java课程设计_第5页
资源描述:

《面向对象程序设计——java课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、面向对象课程设计题目汉诺塔游戏程序功能实现学院商学院专业信息管理与信息系统班级学号学生姓名洪婷指导教师李永刚编写日期2011年12月8日目录一、需求分析31.1界面及布局设计31.2A、B、C座的实现方法31.3圆盘的实现方法41.4记录时间方法4二、系统运行环境5三、功能需求描述5四、总体设计64.1总体功能图64.2总体流程图7五、主要功能设计流程85.1A、B、C座实现流程图85.2圆盘画法流程图95.3保存流程图95.4时间流程图10六、程序模块设计106.1间接关系图106.2运行效果图116.3程序代码设计13七、总结36需求分析1.1界面及布局设计

2、系统的整体布局为:BorderLayout布局,采用了菜单、按钮、面板…等组件,菜单主要包括选择级别,盘子个数,选择颜色,设置大小,按钮的功能包括重新开始,自动演示,播放,循环,停止,保存,演示,暂停,继续,关闭。1.2A、B、C座的实现方法Tower类是javax.swing包中JPanel容器的一个子类,创建的对象tower是HannoiWindow窗口的成员之一,被添加到HannoiWindow窗口的中心位置。标明Tower类的主要成员变量和方法以及和HannoiWindow类之间组合关系的UML图如图1-1所示。图1-1Tower类的UML图成员变量(1

3、)amountOfDisc是int型数据。用来确定tower对象中盘子的数目。(2)disc是Disc型数组,Disc数组的每个单元中存放一个Disc对象,依次表明tower对象中有怎样多的盘子。(3)towerName是char型数组,长度为3,即A、B、C。(4)maxDiscWidth和minDiscWidth的值分别用来确定最大盘子的宽度和最小盘子的宽度,discHeight的值确定每个盘子的高度。(5)pointA、pointB和pointC都是TowerPoint型数组,三个数组的长度与盘子数目相同,分别用来表示Hannoi塔中三个座上的塔点。A座、

4、B座和C座上的三个塔点分别由pointA、pointB和pointC中的单元来确定。每个座上的三个塔点都是从座顶依次对应数组的相应单元中的TowerPoint对象。(6)handleMouse是HandleMouse类创建的鼠标事件监视器,用来监视disc数组的Disc对象上触发的鼠标事件。(7)autoMoveDisc是AutoMoveDisc创建的对话框。通过该对话框可以实现程序自动移动盘子。1.1圆盘的实现方法Disc类是javax.swing包中Jbutton类的子类,所创建的对象称作Hannoi塔中的“盘子”。标明Disc类的主要成员变量、方法以及和T

5、ower类之间组合关系的UML如图1-3所示。图1-2Disc类的UML图1、成员变量(1)number的值确定所创建的“盘子”上的数字号码。(2)point是TowerPoint对象,表明自己所在的塔点。1.2记录时间方法Timer类,该类在javax.swing包中。当某些操作需要周期性地执行,就可以使用计时器。可以使用Timer类的构造方法:Timer(inta,Objectb)创建一个计时器,其中的参数a的单位是毫秒,确定计时器每隔a毫秒“震铃”一次,参数b是计时器的监视器。计时器发生的震铃事件是ActionEvent类型事件。计时器创建后,使用Time

6、r类的方法start()启动计时器,即启动线程。使用Timer类的方法stop()停止计时器,即挂起线程。使用restart()重新启动计时器,即恢复线程。本程序中,单击“显示当前时间”按钮启动计时器,并将时间显示在文本框中;单击“暂停当前时间”按钮计时器暂时停止计时;单击“重新显示当前时间”按钮重新启动计时器。一、系统运行环境硬件要求能运行Windows9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。二、功能需求描述(1)设计Hannoi塔中有三个座,名字分别是A、B和C。初始状态是A座上有3个大小不等的

7、盘子,这些盘子从座底到座顶按着大小顺序依次摆放在A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动该盘子、释放鼠标来放置该盘子;(2)程序要求用户在移动盘子过程中,不允许把大盘放置在小盘的上面,用户最终要完成的是把A座上的全部盘子移动到B座或C座上;(3)用户可以通过Hannoi塔界面提供的菜单来选择初级、中级、高级和自定义四个级别。初级级别A座上有3个大小不等盘子、中级级别A座上有4个大小不等盘子、高级级别A座上有5个大小不等盘子、自定义级别A座用户可以任意输入盘子数目;(4)用户可以通过单击Hannoi塔界面上提供的按钮,让程序自动完成把A座上的盘子全部

8、移动到C座上;(5)用户

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。