上次发布了个俄罗斯方块java小游戏,今天来说一下原理,方便大家交流
俄罗斯方块技术点分析
元素设计
1.方块 2.地图 3.方块旋转 4.方块固定 5.消行计分 6 加速
1.关于方块
方块的几种类型,可以描述为4*4的一个数组。然后分别用0,1表示。比如长条为
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
四方形的为
1100
1100
0000
0000
绘图的时候,可以根据数组的位置,来绘画方块
2.地图
地图为了容纳方块设计砖头格子。横向为10个格子。竖向为20个(也可以30个)
然后画个边
格子默认数组10*20 。全部为0.如果有方块已经落上,那么变为1
3.旋转。
将方块形态全部写成数组记录下来。然后改变形态值。
4.方块固定。
当方块下落一次的时候,计算是否地图上已经有格子为1和方块矩阵为1的,如果遇到,说明应该固定了。
5.消行得分
每次固定的时候,计算地图上已经固定的格子,是否一整行都为1.如果是,本行消除,上面的一行值整体移动到下一行。
6.加速
加速的时候,按住向下键,那么迅速移动一格。
首发于http://java-er.com - http://java-er.com/blog/eluosi-design/