/** 定义方块的形状那个数组和生成新方块的方法没看懂 */
下面这个是(三维数据)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] ;