java课程设计——俄罗斯方块

java课程设计——俄罗斯方块

ID:5311671

大小:320.99 KB

页数:20页

时间:2017-12-07

java课程设计——俄罗斯方块_第1页
java课程设计——俄罗斯方块_第2页
java课程设计——俄罗斯方块_第3页
java课程设计——俄罗斯方块_第4页
java课程设计——俄罗斯方块_第5页
资源描述:

《java课程设计——俄罗斯方块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JAVA程序设计一、程序功能介绍本程序实现了俄罗斯方块游戏的基本功能,游戏中玩家可以做的操作有:1.中间一个方块不变其他三个以90度为单位向右旋转方每一格块,此程序会判断方块有没有空间让他实现旋转,即判断是否越界,若越界则不可以实现旋转。2.以格子为单位左右移动方块,下方向让方块加速落下,空格键则急速下落。3.方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的随机图形会出现在区域上方开始落下。4.当区域中某一列横向格子全部由方块填满,则该列会自动消除并成为玩家的得分。同时删除的列

2、数越多,得分指数上升。5.当固定的方块堆到区域最上方,则游戏结束。(此功能尚未实现)6.此程序还不完善,开始,暂停,重来,结束都没有实现,有待改进。二、课程设计过程1、总体概述:设计一个简单的游戏,能够将Java的面向对象程序思想应用到课程设计中,用到Java中常用的组件以及相应的布局方式。完成设计、编程、测试等过程,给出设计思路、设计说明书、主要的代码的说明、源代码以及可运行的游戏程序。2、各个子类的定义:1.定义俄罗斯方块类,通过可视化界面设定一个游戏界面窗口,用一个10*20表示游戏区域。pub

3、licclassTetrisGameextendsJPanelJFramejf=newJFrame("俄罗斯方块");jf.setSize(540,600);jf.setVisible(true);publicstaticfinalintROWS=20;publicstaticfinalintCOLS=10;2.定义7种俄罗斯方块的基本类型,分别以S、Z、L、J、I、O、T这7个字母的形状来命名。先定义四方格主类:publicclassTetromino;再定义它的7个子类:S、Z、L、J、I、O、T

4、privatestaticclassSextendsTetromino;-1-JAVA程序设计privatestaticclassZextendsTetromino;privatestaticclassLextendsTetromino;privatestaticclassJextendsTetromino;privatestaticclassIextendsTetromino;privatestaticclassOextendsTetromino;privatestaticclassTextends

5、Tetromino;3.通过switch语句,随机输出方块到游戏区域顶部。publicstaticTetrominorandomOne();4.用键盘监听来实现下落、移动、旋转变形。键盘监听:publicvoidkeyPressed(KeyEvente);软着陆:protectedvoidsoftDropAction();硬着陆:protectedvoidhardDropAction();左移:protectedvoidmoveLeftAction();右移:protectedvoidmoverigh

6、tAction();右旋:publicvoidrotateRight();repaint();重绘java里repaint()是重绘component的方法;component中己有的图形发生变化后不会立刻显示,须使用repaint方法。component简而言之,组件就是对象。C++Builder中叫组件,Delphi中叫部件,而在VisualBASIC中叫控件。组件是对数据和方法的简单封装。C++Builder中,一个组件就是一个从TComponent派生出来的特定对象组件可以有自己的属性和方法。

7、判断是否越界:privatebooleancanMoveR();//是否碰墙,是否有其他图形privatebooleanoutOfBoundsTB();//privatebooleanbaoHanR();//判断右侧墙上是否有内容privatebooleanbaoHanL();//判断左侧墙上是否有内容privatebooleanoutOfBoundsR();privatebooleanoutOfBoundsL();5.绘制图像publicvoidpaint(Graphicsg);-2-JAVA程序设

8、计privatevoidpaintScore(Graphicsg);privatevoidpaintNextOne(Graphicsg);privatevoidpaintWall(Graphicsg);privatevoidpaintTetromino(Graphicsg);6.每次摆放如果将场地的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并且以此来换取积分。判断是否行满:privatebooleanfullCells(introw);消行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。