如何使用"处理"在屏幕上绘制完全填充窗口的N * N网格。

时间:2017-01-28 21:14:40

标签: java processing

如何在完全填满窗口的屏幕上绘制N * N网格。 假设n = 8。

我的代码是这样的:

boolean[][] rects;
void setup ()
{
size(300,300);
rects = new boolean[100][100];
fill(0);

}

void draw (){
  background(255);
  for (int r=0; r<100; r++ ){
    for ( int c = 0; c < 100; c++ ){
      if ( rects[r][c] == true ){
        rect( r*3, c*3, 3, 3 );
      }
    }
  }
}

当我运行此代码时,我只得到一个空白的白色屏幕。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

查看此行:

rects = new boolean[100][100];

这会创建一个100x100的2d boolean值数组,但它们都具有默认值false,因为您还没有将它们设置为任何值。

然后看看这一行:

if ( rects[r][c] == true ){
    rect( r*3, c*3, 3, 3 );
}

在这里,您要检查特定索引是否为true,但您尚未将其设置为默认值false以外的任何其他索引。换句话说,此if语句永远不会计算为true,因此永远不会调用rect()函数。

您需要将部分boolean值设置为true,以便此代码执行任何操作。

rects = new boolean[100][100];
rects[50][50] = true;