2017-01-28 7 views
1

ウィンドウを完全に塗りつぶすN * Nグリッドを画面に描画する方法。 n = 8とします。"処理"を使用してウィンドウを完全に塗りつぶすN * Nグリッドを描画する方法

私のコードは、そのようなものです:

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

ようこそスタックオーバーフロー!私たちが答えるにはここで十分ではありません。問題を示す[最小、**完全**および検証可能な例](http://stackoverflow.com/help/mcve)を作成してください。 –

+0

@JoeC [tag:processing]タグに注意してください。これはMCVEです。 –

+0

最後の1つのような質問が増え、質問禁止の下に置かれる危険性があります。今後の参考として、[Jon SkeetのStackOverflow Question Checklist](http://codeblog.jonskeet.uk/2012/11/24/stack-overflow-question-checklist/)をご覧ください。これは、[Writing the Perfect Question](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)の彼のすばらしい長文の簡略版です。あなたの質問が受けるレセプションとあなたのレセプションに続き、答えと同じように改善されます。 –

答えて

0

は、この行をチェックアウト:

rects = new boolean[100][100]; 

これはboolean値の100×100 2D配列を作成しますが、あなたは何にそれらを設定していないので、彼らはすべての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; 
関連する問題