俄罗斯方块游戏设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
俄罗斯方块游戏设计
俄罗斯方块游戏设计 JAVA语言 Eclipse平台开发
以下为开发过程需要使用的packages及其中classes and methods
JAVA语言和C语言、C++语言很接近,它是一种面向对象、独立于开发平台的高级编程语言。它独特的语法规则和类库是组成JAVA技术的两个重要部分。
假期总结:
坦白讲,这个暑假我没花多少时间在学习计算机编程技术上面。在刚放暑假的时候,我去图书馆借了七八本编程书,有Visual C++、C#、以及JAVA方面的书,信誓旦旦这个暑假要好好研究技术。然而,执行力是我很缺乏的一个缺陷吧。在家贪图一时之爽,基本上没去翻书学习,久而久之,就越害怕打开书本。后期提前回学校,学了一点点JAVA。回想整个大一,包括这个暑假,我很羞愧。自己在过去的一年里浪费了太多的时间,对成绩抱着一种比较无所谓的心态,对于学习也是,可想而知,与别人的差距也就越来越大,这也是我现在不愿意看到的。在往后的日子,我不敢保证自己能如何刻苦勤奋地学习,但是,至少我会尽力做到问心无愧,我会清楚自己要什么,并且行动起来。
一、Package cn.itcast.tetris.controller
控制器
控制Ground, Snake, Food
负责游戏的逻辑
处理按键事件
一、Package cn.itcast.tetris.entities
1、Class Ground:
public class Ground
extends ng.Object
可以叫做地形, 或地面
维护障碍物的信息
可以使用提供的 addObstacle(int, int) 和addStubbornObstacle(int ,int) 方法添加障碍物。
可以通过setObstacleColor(), setStubbornObstacleColor() 或setGriddingColor()方法更改障碍物或网格的颜色
通过setDrawGridding() 方法设置是否画空白(网格)
用 setColorfulSupport() 方法设置是否支持彩色显示
覆盖 drawObstacle(Graphics, int, int, int, int) 方法可以改变障碍物的显示方式
覆盖 drawStubbornObstacle(Graphics, int, int, int, int) 方法可以改变不可消除的障碍物的显示方式
2、Class Shape:
public class Shape
extends ng.Object
维护一个图形, 一个图形可以有一种或多种状态
可以通过 setColor() 方法改变图形的颜色
可以通过覆盖 drawUnit(Graphics, int, int, int, int) 方法改变图形的显示
用内部类 ShapeDriver 驱动图形定时向下移动
使用时一定要给实例注册监听器, 否则不能正常运行
3、Class ShapeFactory:
public class ShapeFactory
extends ng.Object
图形工厂
可以产生多种形状, 多种颜色的图形
setDefaultShapeColor() 方法可以设置默认产生的图形的颜色也可以通过 setColorfulShape() 方法设置是否产生彩色图形
4、Class UnitType:
public class UnitType
extends ng.Object
implements ng.Cloneable
可以表示地面里面的障碍物, 不可消除的障碍物, 空白
外部不可以直接new 一个实例, 而应该用 clone() 方法产生实例(防止产生不能识别的类型)
例如产生一个障碍物:
UnitType aObstacle = UnitType.OBSTACLE.clone();
三、Package cn.itcast.tetris.game
四、Package cn.itcast.tetris.listener
五、Package cn.itcast.tetris.util
六、Package cn.itcast.tetris.view