俄罗斯方块JAVA课程设计实验报告.doc
《俄罗斯方块JAVA课程设计实验报告.doc》由会员分享,可在线阅读,更多相关《俄罗斯方块JAVA课程设计实验报告.doc(16页珍藏版)》请在沃文网上搜索。
1、 目录一引言31.1运行环境3二需求分析42.1开发背景42.2设计目的42.3功能需求4三概要设计43.1设计思想43.2系统架构5四详细设计54.1事件处理54.2界面设计64.3游戏画布类64.4方块类84.5消行并统计分数13五.使用说明145.1游戏开始运行145.2填满一行即消行得分155.3列被填满,则游戏自动结束16六课程设计总结与体会16七参考文献1716一引言 1.1运行环境 操作系统:Microsoft Windows XP 程序语言:Java 开发工具:JCreator LE 4.50二需求分析 2.1开发背景 Java是现在全球最时髦的开发工具之一,它拥有一套庞大且完
2、善的类库,内置了其他语言需要靠库甚至是操作系统才能支持的功能。Java的产生与流行是Internet发展的客观要求。如今越来越多的应用程序是Java开发的,用Java开发的应用程序可在任何计算平台安全运行。Java作为一个分布式的,面向对象的程序设计方法,可以让位于任何地方的任何计算机使用网络上的应用程序。可以说Java是一个万能的开发平台,用Java编程成为一种趋势。2.2设计目的通过本次课程设计了解和掌握JDK开发环境以及JCreator等集成开发环境,巩固所学的Java知识及编程机制。了解Java程序开发流程,学会构思比较复杂的课程设计思想;能合理的利用本学期所掌握的多线程、类、GUI等
3、知识编写一个较为复杂的Java应用软件。掌握面向对象成学设计的有关概念和开发方法,锻炼团队合作开发精神。2.3功能需求本课程设计的目标是设计一个名为俄罗斯方块的游戏软件,实现其界面的初始化,程序运行,退出,和相应数据处理。能实现游戏的基本功能,类似下移、左移、右移、翻转、得分累加等,并在规定时间内达到课题所需要实现的功能及要求。三概要设计 3.1设计思想1)使用JPanel框架,并添加按钮、文本框等对象,用布局管理器定义各个对象的分布。2)设计一个二维数组来表示方块,默认为不显示。3)设计一个设计定时线程来控制方块的下落速度。4)设计七种形状的方块,每种形状定义四种形态来实现方块变换5)每个方
4、块落到底后判断是否消沉。 3.2系统架构俄罗斯方块游戏游戏操作处理画布游戏界面按钮事件键盘事件方块类画布类面板类 四详细设计4.1事件处理用actionPerformed()方法实现选择不同类型方块以及控制方块变化功能的实现,用keyPressed()方法实现用键盘控制方块变化功能的实现,在FinalElsBlock.java类中实现事件的监听。4.2界面设计 游戏基本界面图4.3游戏画布类LeftShowCanvas类继承Canvas类,实现方块在画布上的显示,主要代码如下: package game3;import java.awt.*; import java.awt.event.*;
5、import javax.swing.*; import javax.swing.event.*;class LeftShowCanvas extends Canvaint maxrows, maxcols; / 画布最大行数,列数int unitSize; / 单元格的大小,小正方格int unitState; / 每个小方格的状态 0、1、2表示RightPanel rp;int score;public LeftShowCanvas(RightPanel rp) this.rp = rp; score = Integer.valueOf(rp.jtf.getText(); maxrows
6、 = 20; maxcols = 10; unitSize = 20; unitState = new intmaxrowsmaxcols; initCanvas(); public void initCanvas() / 初始化,画布方格 for (int i = 0; i maxrows; i+) for (int j = 0; j maxcols; j+) unitStateij = 0;public void paint(Graphics g) for (int i = 0; i maxrows; i+) for (int j = 0; j maxcols; j+) drawUnit(
7、i, j, unitStateij); / 画方格 if (i = 3) g.setColor(Color.RED); g.drawLine(0, (i + 1) * (unitSize + 1) - 1, maxcols * (unitSize + 1) - 1, (i + 1) * (unitSize + 1) - 1); public void drawUnit(int row, int col, int tag) / 画方格 unitStaterowcol = tag; / 记录状态 Graphics g = getGraphics(); switch (tag) case 0: /
8、初始黑色 g.setColor(Color.BLACK); break; case 1: / 方格黑色 g.setColor(Color.RED); break; case 2: g.setColor(Color.BLUE); break; g.fillRect(col * (unitSize + 1), row * (unitSize + 1), unitSize, unitSize); 4.4方块类方块类,定义了七种形状的方块,每种形状有四种状态,实现用键盘控制方块的的左移,右移,下移以及翻转。具体代码如下: package game3;import java.awt.*; import
9、java.awt.event.*; import javax.swing.*; import javax.swing.event.*;class Block implements Runnable/ 方块类 static final int type = 7, state = 4;static final int patten = / 16进制代表每种方块 0x0f00, 0x4444, 0x0f00, 0x4444 ,/ 长条 0x6600, 0x6600, 0x6600, 0x6600 ,/ 正方块 0x04e0, 0x0464, 0x00e4, 0x04c4 ,/ 三角 0x08e0,
10、0x0644, 0x00e2, 0x044c ,/ 弯折一下,1、3,1左 0x02e0, 0x0446, 0x00e8, 0x0c44 ,/ 弯折一下,1、3,1右 0x0462, 0x006c, 0x0462, 0x006c ,/ 弯折两下,1、2、1,1左上;1右下 0x0264, 0x00c6, 0x0264, 0x00c6 / 弯折两下,1、2、1,1右上;1左下 ; private int blockType = -1; / 方块类型,7种,大小范围0-6 private int blockState;/ 方块状态,4种,大小范围0-3 private int row, col;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块 JAVA 课程设计 实验 报告