java版的俄罗斯方块问题.定义方块的形状那个数组和生成新方块的方法没看懂,
1个回答

/** 定义方块的形状那个数组和生成新方块的方法没看懂 */

下面这个是(三维数据)shapes中的一个二维元素

//i

{ { 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0 },

{ 0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0 },

{ 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0 },

{ 0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0 } },

第一行{ 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0 } 画出的图形为:(0代表&,1代表O)

& & & &

O O O O

& & & &

& & & &

第二行{0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0}

& O & &

& O & &

& O & &

& O & &

从上面两个你应该就可以看出这个数组存储各种方块的方式了.

blockType = (int) (Math.random() * 1000) % 7;

turnState = (int) (Math.random() * 1000) % 4;

这里取的7和4的原因是这个三维数组的两个维度的大小是7和4,7种类型的图形,和每个图形的4种形态

反映到数组上就是

newShape[] = shapes[blockType][State] ;