java课程设计实验报告俄罗斯方块

成 绩 评 定 表学生姓名 班级学号 专 业 电子信息工程课程设计题目 俄罗斯方块游戏设计评语组长签字成绩日期 2013 年 月 日课程设计任务书学 院 信息学院 专 业 电子信息工程学生姓名 班级学号 课程设计题目 俄罗斯方块游戏设计实践教学要求与任务俄罗斯方块是一款适合大众的游戏软件,它适合不同年龄的人玩。本软件实现的基本功能如下 游戏区玩家可以在游戏区中堆积方块,并能够在游戏过程中随时了解得分情况和下一个将要出现方块的提示。 游戏控制玩家可以通过游戏控制功能来控制游戏开始,暂停,结束游戏,游戏难度的设置以及音效控制。 玩家游戏信息存储及删除玩家的得分在前五名时,将会记录在排行榜上,同时可为玩家清空排行榜。游戏软件随即不断的下落其中方块中的一种,玩家在方块落到底部之前将方块尽量整齐的摆放好,以便能够对满一行进行消除,玩家可以旋转,左右移动方块,以选择最佳的摆放位置和方式,也可以加快下落的速度,甚至可以直接落到底部,以便节省游戏的时间。当方块落到底部的时候,就不能进行操作的,此时会在顶部出现另一个方块。在堆放方块的时候,如果一行堆满的话,则进行消行,上面的方块自动的向下移动一行。消除一行可以得到 100 分, 工作计划与进度安排第 18 周布置课程设计任务,查阅资料,分组设计,程序调试。第 19 周程序调试,编写课程设计报告,验收,答辩。指导教师2013 年 6 月 20 日专业负责人2013 年 6 月 20 日学院教学副院长2013 年 6 月 20 日目 录1.课设软件主要功能 12.类总体设 ..12.1 类组合关系图 .12.2 主类 .2 2.3 其它类 ...23.类详细设计 23.1 ERS_Block 主类 .....2 3.2 Command 处理控制类 ...43.3 GameCanvas 游戏画布类 .43.4 Block 方块类...............64.关键类成员函数流程图及代码.....75.软件运行结果...17结论....20参考文献....2011.课设软件主要功能本系统是一个俄罗斯方块游戏的系统设计 1,实现的基本功能就是能实现经典俄罗斯方块游戏的基本功能。如用键盘上的空格下左右键来控制方块的变形,移动等功能。点击控制面板上的开始游戏,游戏暂停,提高级数,降低级数退出游戏等按钮来实现游戏的开始,暂停,停止游戏,增加难度,降低难度等功能。 俄罗是方块游戏游戏区游戏控制数据操作图 1.1 功能图2.类总体设计2.1 类组合关系图e l u o s i f a n g k u a iC o n t r o l P a n e lE r s B l o c kE r s B o x G a m e C a n v s图 2.1. 类组合关系图ERS-BlockMypanelCommandMyTimer22.2 主类ERS_Block 继承 Frame 类负责游戏全局的控制 2。对开始游戏、暂停/继续游戏、结束游戏、等级设置。玩家可自行设定游戏等级,主要提供 10 种级别,级别越高,游戏速度越快,难度越大2.3 其他类1.Mypanel 继承 Panel 类。2.Block 是方块类控制块的移动,下落变形功能。七种类型方块的父类,定义了所有类型方块的共同特征和行为。3.GameCanvas 是游戏画布类,继承 Canvas 类,界面设计应遵循简介美观方便易用的基本原则在游戏区显示方块。4.Command 类是控制按钮类。5.MyTimer 类继承自线程类 Thead。包含 run方法,sleep方法,控制游戏的速度。6.WinListener 类继承 WindowAdapter 类。3.类详细设计3.1ERS_Block 主类图 3.1 主类数据透视图定义成员变量 3 右边信息窗体的布局 MyPanel infoScr new MyPanel; infoScr.setLayoutnew GridLayout4,1,0,5; infoScr.setSize120,300; 定义标签和初始值 3Label scorep new Label“分数“,Label.LEFT; Label levelp new Label“级数“,Label.LEFT; 右边控制按钮窗体的布局 MyPanel controlScr new MyPanel; controlScr.setLayoutnew GridLayout5,1,0,5; rightScr.addcontrolScr; 定义按钮 play Button play_b new Button“开始游戏“; play_b.setSizenew Dimension50,200; 定义按钮 Level UP Button level_up_b new Button“提高级数“; level_up_b.setSizenew Dimension50,200; 定义按钮 Level Down Button level_down_b new Button“降低级数“; level_down_b.setSizenew Dimension50,200; 定义按钮 Level Pause Button pause_b new Button“游戏暂停“; pause_b.setSizenew Dimension50,200; 定义按钮 Quit Button quit_b new Button“退出游戏“; quit_b.setSizenew Dimension50,200; ; 成员方法 俄罗斯方块类的构造方法 方法定义ERS_BlockString title isGameOver 方法方法定义private boolean isGameOver 功能描述该方法是判断游戏是否该结束了,只需要判断窗口中的最顶端那一行中是否有方块,同时也要判断最底端的是否也有,如果都有即结束。 43.2Command 处理控制类图 3.2Command 类数据透视图成员变量 4给按钮编号int button_play int button_levelup int button_leveldown int button_quit ; int button_pause int curButton; GameCanvas scr;成员方法 控制按钮类的构造方法方法定义Commandint button,GameCanvas scr 按钮执行方法 方法定义public void actionPered ActionEvent e功能点击按钮实现游戏的开始,结束,升级,降级,暂停 5。53.3GameCanvas 游戏画布类图 3.3GameCanvas 类数据透视图成员变量小方块边长 final int 0unitSize 30正方格的行数 int rowNum方格的列数 int columnNum允许有多少行未削 int maxAllowRowNum新出现块的起始行坐标 int blockInitRow出现块的起始列坐标 int blockInitCol屏幕数组 int scrArr对方快的引用Block b2.画布类的构造方法成员方法 5 初始化屏幕,并将屏幕数组清零的方法方法定义 void initScr 重新刷新画布方法6方法定义 public void paintGraphics g 画方块的方法方法定义 public void drawUnitint row,int col,int type功能以背景为颜色画,画正在下落的方块,画已经落下的方块。 块的初始 v 行坐标方法方法定义 public int getInitRow返回新块的初始行坐标 returnblockInitRow 返回新块的初始列坐标方法方法定义 public int getInitCol返回新块的初始列坐标 returnblockInitCol 满行删除方法方法定义 void deleteFullLine功能这个就是实现如何将行消除的,其实就是在判断了该行该消除时候将上面的方块都向下平移一格,这样在实现程序界面也就给玩家是消一行的视觉效果 6。3.3Block 方块类图 3.3Block 类数据透视图成员变量块的模式编号int blockType; 块的翻转状态int turnState; 块的下落状态int blockState; 块在画布上的坐标int row,col; 7GameCanvas scr; 成员方法1 fallDown 方法方法定义public void fallDown 功能描述实现方块的运行,下落。2 leftMove方法方法定义public synchronized boolean leftMove功能描述将当前画移动到所左面的位置。3 rightMove方法方法定义private boolean rightMove 功能描述将方块想右边移动。4 方法方法定义public void turnNext功能描述实现方块的旋转。5 leftturn 方法方法定义private synchronized boolean leftturn()功能描述将当前块实现翻转。6 deleteFullLine 方法方法定义private boolean deleteFullLine()功能描述实现满行删除的方法。7 erase 方法方法定义private void erase功能描述将当前块从画布的对应位置移除。8 display 方法方法定义private void display功能描述实现重画画布的时候显示当前块

java俄罗斯方块程序设计报告_java课程设计实验报告俄罗斯方块相关推荐

  1. java课程设计实验报告_java课程设计实验报告样例

    分数_______ 嘉应学院计算机学院实验报告 课程名称:面向对象程序设计课程设计(Java) 实验名称:"动物换位"程序设计 指导教师:肖振球 实验地点:_居家学习_实验时间:2 ...

  2. java课程设计实验报告_javaweb课程设计实验报告

    javaweb课程设计实验报告 1 湖南科技大学计算机科学与工程学院 WEB 编程课程设计报告 题目: 网上购物商店 学 号:1111111111 姓 名: 1 指导老师: 1 完成时间: 11111 ...

  3. 计算机网络设计校园网实验报告,计算机网络课程设计实验报告---校园网网络构建方案设计和实现...

    计算机网络课程设计实验报告---校园网网络构建方案设计和实现 计算机网络课程设计计算机网络课程设计 校园网网络构建方案设计和实现 一一. .实验实验题目题目 校园网网络构建方案设计与实现 二二. .实 ...

  4. Java课设对对碰_java课程设计实验报告

    1 一 实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念.程序设计的基本方法.语 法规则等方面加深理解, 打好程序设计. 开发软件的良好基础.在上机实验中,提高学生对 Java 语言各部 ...

  5. 算符优先文法编写java语法分析器,编译原理课程设计实验报告——基于算符优先分析方法的表达式语法分析器...

    内容简介: 一.设计目的 了解用算符优先法对表达进行语法分析的方法,掌握自顶向下的预测语法分析程序的手工构造方法. 二.设计内容 对简单表达式文法构造算符优先分析器. 三.设计要求 1.对下列简单表达 ...

  6. c++语言程序设计教程与实验实验报告,C++程序设计课程设计实验报告—网络五子棋...

    C++程序设计课程设计实验报告-网络五子棋 计算机学院 实验报告 课程名称: C++程序设计课程设计 开课学期: 2010-2011学年第2学期 院 班: 计算机学院 093 指导老师: 项目题目: ...

  7. 湖北汽车工业学院c语言程序设计 汽车零部件采购管理程序,湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统).docx...

    湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统) C语言课程设计 商品销售信息管理系统 #include #include #include #include structproduct// ...

  8. c语言图形时钟编程,C语言图形时钟课程设计实验报告.doc

    C语言图形时钟课程设计实验报告.doc 目录 1.系统功能要求 . 2. 数据结构设计及 说明 . 3.程序结构(画流程图) . 4.各模块的功能 . 5.试验结果(包括输入数据和输出结果) . 6. ...

  9. c语言时钟报告,C语言图形时钟课程设计实验报告

    C语言图形时钟课程设计实验报告 目录1.系统功能要求.2. 数据结构设计及说明.3.程序结构(画流程图) .4.各模块的功能.5.试验结果(包括输入数据和输出结果) .6.体会.7.参考文献.8.附录 ...

  10. matlab数字图像处理课程设计报告,数字图像处理课程设计实验报告.doc

    数字图像处理课程设计实验报告 数字图像处理课程设计 题 目:数字图像处理及Huufman(或小波变换)编码仿真实现 学生姓名: 学 院:信息工程学院 系 别:电子信息工程系 专 业:电子信息工程 班 ...

最新文章

  1. springmvc 文件上传和拦截器
  2. 在SQL Navigator 中做 oracle pl/sql SQL分析
  3. 二叉树层序遍历递归与非递归_二叉树基础(1)-构建和遍历(递归和非递归)...
  4. oracle中noguarantee,关于undo guarantee
  5. Java Spring Data Redis实战与配置参数详解 application.properties...
  6. 定量库存控制模型_探索全面流动管理TFM 库存控制与低减的理性策略
  7. 关系与普通表的术语比较
  8. 在Saas发展的黄金时代里带你理解SaaS设计
  9. SpykeTorch: Efficient Simulation of Convolutional Spiking Neural Networks With at Most One Spike per
  10. Spark源码分析之Master注册机制原理
  11. java 读取manifest_使用JAVA从jar文件读取MANIFEST.MF文件
  12. 【OOAD】OOAD概述
  13. windows server 2008 r2 安装
  14. Spring Boot 核心配置文件,yml 语法规范、 多环境配置、配置文件加载顺序
  15. OpenStack HA集群1-Galera Cluster for Mysql
  16. android viewpager实现画廊效果,ViewPager实现2D、3D画廊效果
  17. 支持向量机原理与高斯核函数
  18. android 壁纸尺寸,常见手机壁纸的尺寸是多少
  19. I/O多路复用select服务器
  20. 神经网络模型的基本原理,神经元网络算法的思想

热门文章

  1. 如何从尚硅谷下载免费的前端开发视频资源
  2. excel2016html,excel2016打开不显示内容《2016版本的excel表格》
  3. 无线投影之Miracast技术 收集
  4. nfine mysql_全开源版NFine快速开发框架C#源码
  5. 软件工程需求分析方法
  6. Java后台基础设施
  7. URLDecoder和URLEncoder详解
  8. 程序员计算器 android6,程序员计算器
  9. 【Python】numpy矩阵运算大全
  10. 经典合成器插件 – LennarDigital Sylenth1 2.2.1 WiN-MAC