java课程设计报告_第1页
java课程设计报告_第2页
java课程设计报告_第3页
java课程设计报告_第4页
java课程设计报告_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序语言综合课程设计报告专家:计算机科学和技术班: 072班学号: 21号名字:石林彬时间: 2009.07.05-2009.07.25目录课程设计担当书- 5 -Hannoi塔- 6 -1 .设计内容和要求- 6 -1.1汉诺塔算法的基本要求- 6 -1.2要实现的主要功能- 6 -2 .需求分析- 6 -2.1界面和布局设计- 6 -2.2 A、b、c座的实现方法- 7 -2.3光盘的实现方法- 7 -2.4添加音轨的方法- 7 -2.5改变背景和盘子颜色的方法- 7 -2.6设置时间的方法- 7 -2.7文件保存方法- 8 -3 .整体设计- 8 -3.1整体功能图- 8 -3.2整体流程图- 9 -4 .主要功能设计流程- 10 -4.1 A、b、c座实现流程图- 10 -4.2圆盘画法流程图- 10 -4.3添加背景音乐的流程图- 10 -4.4改变背景色的流程图- 11 -4.5改变盘子颜色的流程图- 11 -4.6改变盘子数的流程图- 12 -4.7改变最大盘子和最小盘子大小的流程图- 12 -4.8文件保存流程图- 13 -5 .代码实现- 13 -5.1级之间的关系图- 13 -5.2运行效果图- 14 -5.3包分发流程- 16 -6 .总结和说明- 16 -7 .一些原始代码(参见附录1)- 16 -主题2中国象棋(C/S版)- 17 -1 .设计内容和要求- 17 -1.1中国象棋的基本要求- 17 -1.2要实现的主要功能- 17 -2 .需求分析- 18 -2.1数据库设计- 18 -2.2服务器和客户端数据传输方式- 19 -2.3服务器端功能设计- 19 -2.4客户端功能设计- 20 -3 .整体设计- 20 -3.1整体功能图- 20 -3.2整体流程图- 21 -4 .详细设计- 22 -4.1功能分析和说明- 22 -4.2中国象棋功能模块- 22 -4.3用户注册模块- 24 -4.4聊天模块- 25 -5 .算法设计- 26 -5.1算法概述- 26 -5.2盘,驹画的演算法设计- 27 -5.3象棋种象棋规则的算法设计- 27 -5.4棋子拖动规则的算法设计- 33 -5.5后悔象棋的算法设计- 34 -6 .代码实现- 35 -6.1班之间的关系图- 35 -6.2运行效果图- 36 -6.3软件包分发流程- 39 -7 .总结和说明- 40 -8 .一些原始代码(参见附录2)- 40 -主题3标准化考试系统- 41 -1 .设计内容和要求- 41 -1.1标准化考试系统的基本要求- 41 -1.2要实现的主要功能- 41 -2 .需求分析- 42 -2.1数据库设计- 42 -2.2服务器和客户端的数据传输方式- 42 -2.3服务器端功能设计- 43 -2.4客户端功能设计- 43 -3 .整体设计- 45 -3.1整体功能图- 45 -3.2整体流程图- 46 -4 .数据库设计- 47 -4.1建立数据库和表结构- 47 -4.2 JAVA数据库连接- 48 -5 .主要功能设计流程- 48 -5.1服务器侧设计流程图- 48 -5.2客户端设计流程图- 49 -6 .代码实现- 50 -6.1级间关系图- 50 -6.2运行效果图- 51 -6.3包分发流程- 56 -七.总结和说明- 57 -8 .部分原代码(参照附录3)- 57 -附录1汉诺塔部分源代码- 58 -附录2中国象棋(C/S版)部分源代码- 65 -附录3标准化考试系统部分源代码- 68 -课程设计担当书课程设计的目的:利用学到的高级语言语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成主题设计和代码实现,训练分析程序,培养写报告的能力。课程设计要求:这次课程设计共三周,要求每个学生独立完成三个问题,按照教师指定的进度每天到机械室让教师检查,选题工作量相对大,课外时间也很急,必须加班完成。 机房时间主要用于进度和答疑。课程设计主题:课程设计以JAVA课程设计(第二版)为主要参考书,学生也可以自己做主题,但必须事先向老师征求许可。 主要的主题包括:1、算法主题请选择其中一个。 第三章Hannoi塔要求按照P75的3.6主题的要求完成这个问题可以取代“积木世界”,但必须独立完成2、游戏主题可选择第五章迷宫、第六章模板游戏、第七章扫雷游戏、第八章中国象棋拼图游戏。 要求追加内容:背景音乐成绩记录背景图像查看英雄排行榜。3、管理系统选择其中之一。 第十一章标准化考试系统和第十二章数据库通用查询系统选择一个。 要求:B/S体系结构用数据库存储数据客户端要求在较小的应用程序中实现。课程设计时间表:这次课程设计共十五个工作日,各主题在34天内完成,最后三天完成报告,任何同学都没有得到老师的批准,不得请假或提前离开学校。课程设计报告要求:课程设计报告必须在word中合成,有目录,自动生成目录,报告的所有图都必须在Visio中创建。 报告的主要内容是程序设计思想的记述和设计过程的分析,不直接附加代码。Hannoi塔主题1 .设计内容和要求1.1汉诺塔算法的基本要求(1)设计GUI接口的Hannoi塔。 汉诺塔有三座,名字分别是a、b、c。 初始状态下,a塔有三个大小不同的盘子,这些盘子从底座向底座按大小顺序排列在a座上。 用户可以用鼠标选择盘子,拖动鼠标来移动盘子. 放开鼠标放盘子。(2)程序要求用户在移动盘子的过程中,不要把盘子放在小盘子上,用户最终完成的是把a座的盘子全部移动到b座或c座。(3)用户可以通过Hannoi塔界面提供的改变盘子数量的功能来改变盘子数量,同时也可以选择改变盘子的大小,改变盘子和界面的背景颜色,控制背景音乐的播放。(4)用户点击Hannoi塔界面上的按钮,程序就能自动将a座的盘子全部移动到c座。(5)用户在移动盘子的同时,可以随时点击Hannoi塔界面上的按钮重新开始。1.2要实现的主要功能1完成汉诺塔的“手动移动示威”2完成汉诺塔的“自动移动示威”添加3计时器功能后,显示用户完成盘子移动的时间4用户可以设定最大和最小的盘子大小5用户可以选择播放和暂停背景音乐6用户可以设定盘子的数量7用户可以设定盘子的颜色和背景色8用户可以将自动移动的盘子的文本信息保存在文件中2 .需求分析2.1界面和布局设计系统的整体布局是BorderLayout布局,该布局采用按钮、面板、复选框、文本框、文本区域和分割窗格等组件,按钮具有以下功能: 1 .可以改变盘子的数量2 .可以改变盘子的大小3 .可以改变盘子的颜色和背景颜色4 .可以重新开始游戏和自动演示5 .可以保存自动演示的文本信息复选框,可以保存背景音乐2.2 A、b、c座的实现方法Java支持图形和图像的功能,a、b、c座的实现利用Java的这个功能,利用java 2D技术。 java有强大的二维图形处理能力,绘图a、b、c座使用paint(Graphics g )方法,从Graphics对象g调用drawLine ()方法,绘制三条纵线,从Graphics对象g绘制三条纵线调用方法来绘制矩形区域,然后根据盘子的数量,对每条竖线调用g.fillOval ()方法来绘制相同数量的点,最后调用drawString ()方法来绘制a座、b座、c座,执行a座、b座、c座的绘制2.3光盘的实现方法JButton是由java系统提供的类,实现圆盘的类Disc继承JButton类,因此Disc类是JButton的子类,创建的对象用Tower容器的按钮表示Tower的“盘子”,盘对象2.4添加背景音乐的方法该功能模块提供游戏的背景音乐的设置,并允许根据玩家的喜好选择是否在游戏进行过程中启动背景音乐. 默认情况下,系统在启动游戏的同时启动背景音乐。 背景音乐通过复选框JCheckBox控制音乐的播放和暂停,主要通过复选框打开监视器来控制。 背景音乐使用FileInputStream获取音乐文件,使用AudioPlayer的start (newcont2.5改变背景和盘子颜色的方法Javax.Swing包中有一个类JColorChooser,它包含静态方法publicaticaticationcolorshowdialog的双曲正切值。 此方法可以创建一个颜色对话框。 颜色对话框实际上以用户在颜色对话框中选择的颜色返回颜色对象. 获取此颜色对象后,组件会调用setBackground ()方法来设置背景色和皿色。2.6小时设定方法使用Thread加入计时器功能,为java版本1.2提供了一个方便的计时器线程Timer类,Timer类提供了一个构建方法Timer(int a、 Object b )创建计时器,计时器每1000毫秒发生一次铃声,执行执行actionPerformed方法的actionPerformed方法时,时间会增加1000毫秒,时间每1秒一次此外,每次铃声响起时,都会判断b塔或c塔上的所有塔是否都有盘子,如果盘子计时器的线程都有,则会调用stop ()方法,计时器停止,并显示游戏完成对话框。2.7文件的保存方法文件保存主要利用文件对话框和输入输出流来实现。 汉诺威自动演示功能在文本区域中显示演示步骤,在文件对话框中选择要保存在该文件中的文件,并使用BufferedWriter类的write方法将文本区域中的文本写入所选文件。3 .整体设计3.1整体功能图根据需求分析,要完成Hannoi塔的设计,必须实现Hannoi塔的几个基本功能:1.完成Hannoi塔的“手动移动演示”2 .完成汉诺塔的“自动”移动演示)3.添加定时器功能后, 显示用户完成盘子移动所需的时间4 .用户可以设定最大和最小的盘子大小5 .用户可以选择播放和暂停背景音乐6 .用户可以设定盘子的数量7 .用户可以设定盘子的颜色和背景色8 .用户可以自动移动可以在可以将存储信息存储在文件中的任何计算机上运行,界面简单大方,操作简单方便,使用方便。根据系统的需要,Hannoi塔的整体功能图如图1-1所示图1-1整体的功能图3.2整体流程图根据Hannoi塔游戏的功能分析,如图1-2所示,Hannoi塔游戏的整体流程已被设计图1-2整体流程图4 .主要功能设计流程4.1 A、b、c座的实现流程图根据实现a、b、c座的分析,a、b、c座的实现流程图如图1-3所示图1-3 A、b、c座安装流程图4.2圆盘画法的流程图根据圆盘画法的分析,得到的圆盘画法的流程图如图1-4所示图1-4圆盘画法的流程图4.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论