《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)

上传人:s9****2 文档编号:472962252 上传时间:2023-05-07 格式:DOC 页数:84 大小:2.95MB
返回 下载 相关 举报
《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)_第1页
第1页 / 共84页
《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)_第2页
第2页 / 共84页
《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)_第3页
第3页 / 共84页
《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)_第4页
第4页 / 共84页
《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)》由会员分享,可在线阅读,更多相关《《高级语言综合课程设计》设计报告Hannoi塔+学生信息管理系统+俄罗斯方块(手机版)(84页珍藏版)》请在金锄头文库上搜索。

1、 高级语言综合课程设计设计报告 学院:专业班级:学号:姓名:指导老师:完成时间: 目录题目一Hannoi塔41.1 题目简介41.2 设计的内容、要求和目标41.2.1设计内容41.2.2设计要求41.2.3设计目标51.3 总体设计51.3.1 类之间组合关系51.3.2 功能模块61.3.3 总体流程图61.4 详细设计及实现71.4.1 操作界面设计71.4.2 类成员变量及方法设计101.4.3 数据库设计141.4.4 源代码分析151.5 系统运行及使用说明18题目二学生信息管理系统192.1 题目简介192.2 设计的内容、要求和目标192.2.1设计内容192.2.2设计要求1

2、92.2.3设计目标202.3 总体设计202.3.1类之间的组合关系202.3.2 系统的功能模块212.3.3 系统的总体流程图212.4 详细设计及实现222.4.1 操作界面设计222.4.2 类成员变量及方法设计302.4.3 数据库设计372.4.4 源代码分析432.5 系统运行及使用说明48题目三俄罗斯方块(手机版)493.1 题目简介493.2 需求分析493.2.1 设计目的和意义493.2.2 任务概述493.2.3 需求分析503.3 总体设计513.3.1 系统功能结构图513.3.2 系统总体流程图513.4 详细设计523.4.1 功能分析和描述523.4.2 程

3、序系统的结构533.4.3 游戏的前景和背景设计543.5主要技术的实现553.5.1 开机动画的实现553.5.2 排行榜设计563.5.3 消去方块的实现573.6 系统实现583.6.1 程序系统的结构583.6.2 程序设计说明58总结61附录一 Hannoi游戏的主要代码63附录二 学生管理系统主要代码72附录三 俄罗斯方块主要代码784题目一Hannoi塔1.1 题目简介Hannoi塔是运用java高级编程语言和MySQL5.1使用MyEclipse8.5实现的一个游戏系统。1.2 设计的内容、要求和目标1.2.1设计内容 我设计的Hannoi塔,除了要编写的6个java文件所给出

4、的类外,还需要java系统提供的一些重要的类,如JButton,JCheckBox等。汉诺塔中有三个座,名字分别为A,B,C。刚开始的时候A塔上有3个大小不等的盘子,这些盘子从座底到座顶按着大小顺序依次摆放在A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动盘子。释放鼠标来放置该盘子。程序要求用户在移动盘子的过程中,不允许吧大盘子放置在小盘子的上面,用户最终要完成的是把A座上的全部盘子移动到B座或C座上。用户可以通过Hannoi塔界面的提供的改变盘子数目功能来改变盘子的数目,同时可以改变盘子的大小以及改变盘子和界面的背景颜色,而且还可以选择控制背景音乐的播放。用户可以通过单击Hannoi塔

5、界面上提供的按钮,让程序自动完成把A座上的盘子全部移动到C座上。用户在移动盘子的过程中,可以随时单击Hannoi塔界面上提供的按钮,重新开始。1.2.2设计要求(1)设计GUI界面的Hannoi塔。Hannoi塔中有三个座,名字分别是A、B 和C。初始状态是A座上有3个大小不等的盘子,这些盘子从座底到座顶按着大小顺序依次摆放在A座上。用户可以用鼠标选中盘子,然后通过拖动鼠标来移动该盘子、释放鼠标来放置该盘子;(2)程序要求用户在移动盘子过程中,不允许把大盘放置在小盘的上面,用户最终要完成的是把A座上的全部盘子移动到B座或C座上;(3)用户可以通过Hannoi塔界面提供的菜单来选择初级、中级、高

6、级和自定义四个级别。初级级别A座上有3个大小不等盘子、中级级别A座上有4个大小不等盘子、高级级别A座上有5个大小不等盘子、自定义级别A座用户可以任意输入盘子数目;(4)用户可以通过单击Hannoi塔界面上提供的按钮,让程序自动完成把A座上的盘子全部移动到C座上;(5)用户在移动盘子的过程中,可以随时单击Hannoi塔界面上提供的按钮,重新开始当前的级别;(6)有计时功能,即显示用户完成移动盘子所花费的时间;(7)用户可以根据自己的需要设置盘子的数量;(8)实现帮助功能,用户有不明白的地方可以查看帮助文档;(9)用户可以设置盘子的颜色以及背景的颜色;(10)实现与数据库的连接,用户使用时必须登录

7、。1.2.3设计目标Hannoi程序设计的设计目标是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,以及熟悉的运用Java Swing实现一些综合的项目为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.3 总体设计1.3.1 类之间组合关系Hannoi的类之间的组合关系图如下: 图1-1 类之间组合关系图1.3.2 功能模块Hannoi塔总共分为五个模块:(1) 主模块,该模块主要是实现一个整体的布局,其中调用了登陆模块,注册模块,游戏模块和帮助模块。(2) 登陆模块,这个模块主要实现与数据库的连接,

8、用户需要登陆游戏后才可开始游戏。(3) 注册模块,这个模块主要是实现帐号的注册。对一些没有账号的玩家可以先进行注册,然后再登陆游戏。(4) 帮助模块,这个模块是实现一个树形的帮助文档,方便用户对游戏的开发以及对游戏的操作有个了解。(5) 游戏模块,该模块实现的游戏的主界面,包括游戏中底座、盘子、塔点的实现。1.3.3 总体流程图图1-2 项目总体流程图1.4 详细设计及实现1.4.1 操作界面设计 首先,用户进入游戏所展示给玩家的是欢迎界面,该界面用的是BorderLayout布局,界面的中央是一块大的Jlabel(带有图标)Jlabel的中央添加了“汉诺塔” 三个字字体为华文行楷,粗体,60

9、号,而在界面的菜单栏里的最左端是两个JMenu,最右端是两个Jlabel(显示用户当前状态)和一个“注销”Jbutton该按钮颜色与菜单栏的颜色一致,菜单栏的颜色是水绿色,整个窗口的大小为500*460(像素)。JButtonJMenuJlabel图1-3游戏欢迎界面其次,用户进入的是登陆界面,该界面总体布局是BorderLayout,NORTH放置的是一个带有图标的JLabel;CENTER放置的是一块面板,该面板上的布局为BoxLayout,放置了两个JTextField和三个JLabel,面板的背景色为pink(粉色);在界面的SOUTH放置的也是一块面板,上面加载三个按钮。整个界面的大

10、小为345*250(像素)。JLabelJButtonJTextFieldJLabel图1-4 用户登陆界面图1-5 用户注册界面接下来,用户进入的是注册界面,该界面的总体设计与登陆界面大致相等,窗口大小为345*200。JButtonJTextFieldJPanelJButton图1-6 游戏界面然后,用户进入的是游戏界面。该界面总体布局为BorderLayout,NORTH放置的是一块面板,背景色为绿色,布局为FlowLayout,上面放置了两个JButton和一个JLabel;CENTER放置的是该游戏的主要内容,是一块面板,背景色为粉红色。SOUTH放置的也是一块面板,上面加载了两个J

11、Label和一个不可编辑的JTextField。整个窗口的大小为500*460。图1-7 帮助界面最后,用户看到的是帮助文档界面。该界面是一个JDialog窗口,是由一个JSplitPane组成,左边是一个树形结构,右边是一个JPanel或者JTextArea这取决于右边要显示的内容,如果是文本的话则显示JTextArea,否则显示欢迎界面。整个窗口的大小500*535。1.4.2 类成员变量及方法设计1、HannoiWindow.java(主类):负责创建Hannoi塔的主窗口,该类含有main方法,Hannoi塔从该类开始执行。HannoiWindow类的成员变量中有六种重要类型的对象、一

12、个int基本型数据和一个char类型。六种对象分别是:Tower、JMenuItem、JMenuBar、JMenu、JButton、JLabel对象。以下是该类中成员变量和方法的详细介绍。1) 成员变量 tower是Tower创建的对象。 amountOfDisc是int型数据,它的默认值是3,用来刻画对象中盘子的数量,即Disc 的数量。 towerName是char型数组,用来确定三个底座的名字。 renew和autoButton是JButton创建的按钮对象。名字依次序为“重新开始”和“自动演示”。2) 方法 HannoiWindow( )是构造方法,负责完成窗口的初始化。 Main方法

13、是主程序入口的方法。 Actionperformed(ActionEvent)方法是HannoiWindow 类实现的Action Listener 接口中的方法。图1-8 HannoiWindow类的UML图2、Tower类是javax.swing包中JPanel容器的一个子类,创建的对象tower是HannoiWindow窗口的成员之一,被添加到HannoiWindow窗口的中心位置。标明Tower类的主要成员变量和方法以及和HannoiWindow类之间组合关系的UML图如图1-9所示。图1-9 Tower 类的UML图以下是UML图中有关数据和方法的详细说明。1)成员变量 amount

14、OfDisc是int型数据。amountOfDisc值用来确定tower对象中盘子的数目,即确定tower对象中Disc类型数组disc的长度。 disc是Disc型数组,该数组的长度由amountOfDisc值来确定。Disc数组的每个单元中存放一个Disc对象,依次表明tower对象中有怎样多的盘子。 towerName是char型数组,长度为3,其三个单元的默认取值依次是A、B和C。towerName是数组的单元的值用来确定tower中三个座的名字。 maxDiscWidth和minDiscWidth的值分别用来确定最大盘子的宽度和最小盘子的宽度,discHeight的值确定每个盘子的高度。 pointA、pointB和pointC都是TowerPoint型数组,三个数组的长度与盘子数目相同,即都是amountOfDisc。pointA、pointB和pointC单元都是TowerPoint创建对象,分别用来表示Hannoi塔中三个座上的塔点。A座、B座和C座上的三个塔点分别由pointA、pointB和pointC中的单元来确定。每个座上的三个塔点都是从座顶依次对应数组的相应单元中的TowerPoint对象。例如,A座最上面的塔点是pointA0,中间的塔点是pointA1,最下面的塔点是pointA2。 handleMouse是HandleMouse

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号