俄罗斯方块JAVA课程设计实验报告毕业设计

1目录一引言..........................................................................................................................................................21.1运行环境...............................................................................................................................................2二需求分析.................................................................................................................................................22.1开发背景...............................................................................................................................................22.2设计目的...............................................................................................................................................22.3功能需求...............................................................................................................................................2三概要设计.................................................................................................................................................33.1设计思想...............................................................................................................................................33.2系统架构...............................................................................................................................................3四详细设计.................................................................................................................................................34.1事件处理...............................................................................................................................................34.2界面设计...............................................................................................................................................44.3游戏画布类...........................................................................................................................................44.4方块类...................................................................................................................................................64.5消行并统计分数.................................................................................................................................11五.使用说明...................................................................................................................................................125.1游戏开始运行.....................................................................................................................................125.2填满一行即消行得分........................................................................................................................135.3列被填满,则游戏自动结束............................................................................................................14六课程设计总结与体会...........................................................................................................................14七参考文献...............................................................................................................................................152一引言1.1运行环境操作系统MicrosoftWindowsXP程序语言Java开发工具JCreatorLE4.50二需求分析2.1开发背景Java是现在全球最时髦的开发工具之一,它拥有一套庞大且完善的类库,内置了其他语言需要靠库甚至是操作系统才能支持的功能。Java的产生与流行是Internet发展的客观要求。如今越来越多的应用程序是Java开发的,用Java开发的应用程序可在任何计算平台安全运行。Java作为一个分布式的,面向对象的程序设计方法,可以让位于任何地方的任何计算机使用网络上的应用程序。可以说Java是一个万能的开发平台,用Java编程成为一种趋势。2.2设计目的通过本次课程设计了解和掌握JDK开发环境以及JCreator等集成开发环境,巩固所学的Java知识及编程机制。了解Java程序开发流程,学会构思比较复杂的课程设计思想;能合理的利用本学期所掌握的多线程、类、GUI等知识编写一个较为复杂的Java应用软件。掌握面向对象成学设计的有关概念和开发方法,锻炼团队合作开发精神。2.3功能需求本课程设计的目标是设计一个名为俄罗斯方块的游戏软件,实现其界面的初始化,程序运行,退出,和相应数据处理。能实现游戏的基本功能,类似下移、左移、右移、翻转、得分累加等,并在规定时间内达到课题所需要实现的功能及要求。3三概要设计3.1设计思想1)使用JPanel框架,并添加按钮、文本框等对象,用布局管理器定义各个对象的分布。2)设计一个二维数组来表示方块,默认为不显示。3)设计一个设计定时线程来控制方块的下落速度。4)设计七种形状的方块,每种形状定义四种形态来实现方块变换5每个方块落到底后判断是否消沉。3.2系统架构四详细设计4.1事件处理俄罗斯方块游戏游戏操作处理画布游戏界面按钮事件键盘事件方块类画布类面板类4用actionPered()方法实现选择不同类型方块以及控制方块变化功能的实现,用keyPressed()方法实现用键盘控制方块变化功能的实现,在FinalElsBlock.java类中实现事件的监听。4.2界面设计游戏基本界面图4.3游戏画布类LeftShowCanvas类继承Canvas类,实现方块在画布上的显示,主要代码如下packagegame3;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;classLeftShowCanvasextendsCanvaintmaxrows,maxcols;//画布最大行数,列数intunitSize;//单元格的大小,小正方格5intunitState;//每个小方格的状态0、1、2表示RightPanelrp;intscore;publicLeftShowCanvasRightPanelrpthis.rprp;scoreInteger.valueOfrp.jtf.getText;maxrows20;maxcols10;unitSize20;unitStatenewintmaxrowsmaxcols;initCanvas;publicvoidinitCanvas//初始化,画布方格forinti0;i1;comIndex0 x8000;forintirow;i1;9ifisfall0//无法下落,先判断是否能消行,再重新初始化//lsc.deleteFullLinerow,col;reInit;reInitRowCol;oldRowrow;oldColcol;oldTypeblockType;oldStateblockState;publicvoidleftTurn//旋转,左转ifthis.blockType-1blockStateblockState14;ifisMove3drawBlockblockType;elseblockStateblockState34;publicvoidleftMove//左移ifthis.blockType-1drawBlockblockType;publicvoidrightMove//右移ifthis.blockType-1drawBlockblockType;publicbooleanfallMove//下移ifthis.blockType-110ifisMove2row1;drawBlockblockType;returntrue;elseisfall0;drawBlockblockType;returnfalse;returnfalse;publicsynchronizedbooleanisMoveinttag//左0,右1,下2,旋转3intcomIndex0 x8000;forintirow;ilsc.maxrows-1||jlsc.maxcols-1||lsc.unitStateij2returnfalse;comIndexcomIndex1;returntrue;114.5消行并统计分数publicvoiddeleteFullLineintrow//判断此行是否可以消,同时可消就消行forintj0;j3;i--//到此即为可消,将上面的移下消此行forintj0;jmaxcols;jdrawUniti,j,unitStatei-1j;score;rp.jtf.setTextString.valueOfscore;12五.使用说明5.1游戏开始运行135.2填满一行即消行得分145.3列被填满,则游戏自动结束六课程设计总结与体会本次课程设计花费我们小组一个月的时间来完成,从设计开始选择课题到最终完成课程设计,小组成员分工明确,相互合作,按时完成相关任务。通过这次实验,我们学习到了很多Java编码成知识,同时对这个学期的课本所学的知识有了进一步巩固,特别是多线程,Swing组件和事件等能更熟练的运用。这次实验过后,我们发现,动手比看书更能获取实际有用的知识。真理是从实践中得知的,而且也只有实践才能检验真理。而这次实验也加强了我们这些方面的理解能力,对书面上的东西实际操作在具体项目上有了一个更清晰的认识。我们还意识到一个大的程序,在写代码之前,一定要有良好的需求分析和结构设计,应该占整个程序设计的大部分时间,一个好的程序,分析设计应该要非常充分,这样才不至于代码写了一半才发现很多错误。很多具体代码操作之前的设计规划和构建才是优秀程序设计的灵魂。设计过程中,我们另一个大的体会就是合作的好处,通过相互帮助,大大的提高了工作效率。同时我们也发现自己的不足之处。而且让我感受比较深的是,做事细心很重要,所谓细节决定成败。程序还有很多不足,在今后的日子里,我们会虚心向老师同学请教,尽自己最大的努力做到最好。15七参考文献1.李芝兴,杨瑞龙.Java程序设计之网络编程.M.北京清华大学出版社2.印旻编.Java语言与面向对象程序设计.M.北京清华大学出版社3.朱站立,沈伟.Java程序设计实用教程.M.北京电子工业出版社16(此为最后一页)指导教师评语指导教师签名年月日成绩教研室审核意见教研室主任签字年月日

java俄罗斯方块设计报告_俄罗斯方块JAVA课程设计实验报告毕业设计相关推荐

  1. java课程设计连连看_连连看_java课程设计报告

    连连看_java课程设计报告 <连连看> 项目设计报告 专 业: 软件工程 班 级: 07级2班 姓 名: 二00九 年 七 月 二十一 日 目 录 1.项目设计目的.意义-------- ...

  2. java仓库管理设计报告_仓库管理系统(课程设计JSPJAVA大学设计).doc

    仓库管理系统(课程设计JSPJAVA大学设计) 摘 要 随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下, ...

  3. 广东金融学院java实验报告_《大学计算机Ⅰ》实验报告实验三

    广东金融学院实验报告 课程名称:大学计算机Ⅰ 实验编号 及实验名称 姓 名 实验地点 指导教师 蔡文璇 12-204课室 伍春晖博士 实验三 中文Excel 2007实验 系 别 班 级 实验时数 成 ...

  4. python链表和树实验报告_数据结构树和森林实验报告

    _ 树和森林应用实验 实验报告 实验目的 ( 1) 掌握树和森林的二叉链表表示方法. (2) 掌握树和二叉树的结构及算法之间的对应关系. (3) 掌握树的两种遍历算法及其应用. 实验运行环境 Visu ...

  5. 大学物理实验长度的测量实验报告_(完整精品)大学物理实验报告之长度基本测量...

    (完整精品)大学物理实验报告之长度基本测量 大学物理实验报告姓名 学号 学院 班级 实验日期 2017 年 5 月 23 日 实验地点:实验楼 B411室实验名称 长度的基本测量 组号 第 组[实验目 ...

  6. 大学物理实验长度的测量实验报告_(完整精品)大学物理实验报告之长度基本测量.doc...

    (完整精品)大学物理实验报告之长度基本测量.doc 大学物理实验报告 评 分姓名 学号 评 分 学院 班级 实验日期 2017 年5 月23 日 实验地点:实验楼B411室 实验名称 长度的基本测量 ...

  7. 太阳能电池基本特性实验报告_太阳能电池基本特性研究实验报告的数据处理Ini怎么?太阳能电池基 爱问知识人...

    摘要:实验结果的表示,首先取决于实验的物理模式,通过被测量之间的相互关系,考虑实验结果的表示方法.常用到数据处理方法有作图法,列表法,平均值法,最小二乘法等.在处理数据时可根据需要和方便选择任何一种方 ...

  8. C语言上机报告例文,c语言上机实验报告_大一c语言上机实验报告_c语言实验报告怎么写...

    计算机的同学会进行上机实验,包括ERP,JA,C语言等等.下面是出国留学网为大家整理的上机实验心得体会,供大家参考. 上机实验心得体会(一) 通过该实验,对所学的知识有了进一步的了解.在实验的过程中, ...

  9. Java简单记事本设计实验报告_基于JAVA的记事本设计报告.doc

    基于JAVA的记事本设计报告 华北科技学院计算机系综合性实验报告 PAGE 第 PAGE 11 页 XX学校计算机系综合性实验 实 验 报 告 课程名称 Java程序设计 实验学期 至 学年 第 学期 ...

  10. java日历程序设计,《面向对象程序设计》课程设计---java日历

    <面向对象程序设计>课程设计---java日历 软软 件件 学学 院院 课程设计课程设计报告书报告书 课程名称课程名称 面向对象程序设计课程设计面向对象程序设计课程设计 设计题目设计题目 ...

最新文章

  1. pyqt怎么给字体加粗_微信拍一拍可设置后缀?怎么用?还有更多新功能!
  2. ktor框架用到了netty吗_教你如何构建异步服务器和客户端的 Kotlin 框架 Ktor
  3. Nat. Mach. Intell. | FFPred-GAN:“以假乱真“—基于GAN创建合成特征样本改进蛋白质功能预测...
  4. oracle修改机器名后不能启动Console的解决方案
  5. 性能测试vs负载测试vs压力测试
  6. 在字符串末尾添加字符使其成为回文串
  7. 大数据学习之Linux环境搭建(导航)
  8. 计算机网络工程应用,全面信息化管理在计算机网络工程的应用
  9. leetcode —— 523. 连续的子数组和
  10. python 批量打印文档_使用python将Excel数据填充Word模板并生成Word
  11. UML及UML如何描述复杂系统的开发模型?
  12. 【干货】比赛后期大招之stacking技术分享
  13. Java编译带包文件
  14. python select模块_深入理解python中的select模块
  15. 固高运动控制卡的使用 2 关于IO的访问以及调用(C#版)
  16. 真的有必要定义VO,BO,PO,DO,DTO吗?
  17. 【毕业设计】 大数据二手房数据爬取与分析可视化 -python 数据分析 可视化
  18. appinventor拓展开发
  19. Eclipse项目红叉:报错Description Resource Path Location Type Target runtime Apache Tomcat v8.0 is not defin
  20. 怎样写权利要求书(原创)

热门文章

  1. 欧姆龙cp1h指令讲解_欧姆龙cp1h常用指令学习(十二)块程序
  2. 利用excel快速制作标准正态分布表
  3. windows自带黑体_win10字体设置黑体|win10系统文字如何设置黑体字体
  4. 敏感词检测理论算法过程
  5. flowable理论(一)工作流理论
  6. 元宇宙NFT商城系统|艺术数字藏品平台源码部署
  7. 百度关键词排名提升软件-免费百度关键词排名提升工具
  8. Android显示实时帧率工具
  9. Java二分查找法代码
  10. SpringBoot-项目2-收货地址(新增,修改,删除,设为默认收货地址)