我正在开发一个俄罗斯方块游戏,并在xml文件中以下列格式保存块地图。
<block column="2">101011</block>
然后我将这个xml解析为1d数组,如下所示
boolean [] bitmap = new boolean [] {true,false,true,false,true,true}; // 101011 in java中的boolean
之后绘制俄罗斯方块时使用列号和这个1d数组来计算每个块的坐标。 然后显示“L”块
10
10个
11
现在......我想旋转这些块...我需要的是:(对于ccw)
101011个
到
001111
和第2至3列
答案 0 :(得分:1)
尝试使用此代码遍历2dD数组,以便创建所需的1D数组:
int[][] array = new int[][] { { 1, 0 }, { 1, 0 }, { 1, 1 } };
int[] newArray = new int[6];
int index = 0;
// Populating 1D array.
for (int i = array[0].length; i > 0; i--)
for (int j = 0; j < array.length; j++)
newArray[index++] = array[j][i - 1];
// See the contents of 1D array.
for (int i = 0; i < newArray.length; i++)
System.out.println(newArray[i]);