我正在创建一个基于网格的迷宫游戏,我目前正在使用一个 10 x 10 2d 整数数组来处理绘制迷宫和简单的碰撞检测。
我的问题是,当使用嵌套的 for 循环绘制网格时,它会在列中绘制网格并且绘制的迷宫被翻转。例如
int [][] map= {
{0,0,0,0,0,0,0,0,0,0,},
{0,0,0,0,0,0,0,0,0,0,},
{2,1,1,1,0,0,0,0,0,0,},
{0,0,0,1,0,0,0,1,1,2,},
{0,0,0,1,0,0,0,1,0,0,},
{0,0,0,1,0,0,0,1,0,0,},
{0,0,0,1,1,1,1,1,0,0,},
{0,0,0,0,0,0,0,0,0,0,},
{0,0,0,0,0,0,0,0,0,0,},
{0,0,0,0,0,0,0,0,0,0,}
};
for(int i=0;i<map.length;i++){
for(int j=0;j<map.length[0];j++){
switch(map[i][j]){
case 0:drawRect(i,j,width,height,blue);
break;
case 1:drawRect(i,j,width,height,white);
break;
case 2: drawRect(i,j,width,height,red);
break;
}
}
}
画了这个
代替
我目前解决这个问题的方法是翻转 i 和 j 值。但是有没有办法以写出的方式绘制二维数组,或者甚至是创建仍然非常简单的网格迷宫的更好方法?