如何使用"Processing"在屏幕上绘制一个完全填满window的N*N格子

How to draw an N*N grid on the screen that completely fills the window by using "Processing"

如何在屏幕上绘制一个完全填满window的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 );
      }
    }
  }
}

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

查看这一行:

rects = new boolean[100][100];

这将创建一个 100x100 二维数组 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;