0

これは、これまでのところレンガを作成するための私のコードであり、動作します:

bricks = new Brick[5];     
this.createBricks(); 

private void createBricks(){
    for (int i = 0; i < 5; i++) {
         Brick brick = new Brick(0,0, Color.RED);  
         bricks[i] = brick;
    }
}

このコードでは、1 つのレンガを取得できますが、すべてのレンガが同じ位置にあることは確かです。したがって、レンガが行と列で隣り合って表示されるように、位置 (現在のコード: 0,0) を記述する方法について助けが必要です。

アップデート:

Brick[][] bricks = new Brick[5][5];     
this.createBricks(); 

private void createBricks(){
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            Brick brick = new Brick(i,j, Color.RED);  
            bricks[i][j] = brick;
        }
    }
}
4

1 に答える 1

1

iブリック コンストラクターに渡すことができます。

private void createBricks(){
    for (int i = 0; i < 5; i++) {
         Brick brick = new Brick(i,0, Color.RED);  
         bricks[i] = brick;
    }
}

次のようになります。

OOOOO
-----
-----
-----
-----

また:

private void createBricks(){
    for (int i = 0; i < 5; i++) {
         Brick brick = new Brick(0,i, Color.RED);  
         bricks[i] = brick;
    }
}

次のようになります。

O----
O----
O----
O----
O----

また:

private void createBricks(){
    for (int i = 0; i < 5; i++) {
         Brick brick = new Brick(i,i, Color.RED);  
         bricks[i] = brick;
    }
}

次のようになります。

O----
-O---
--O--
---O-
----O

最初の 2 つのコンストラクター引数がブリック行列の x 軸と y 軸であると仮定します。コンストラクターがどのBrickように見えるかによって異なります。

EDIT1:コメントからの質問への回答:

Brick[][] bricks = new Brick[5][5];     
this.createBricks(); 

private void createBricks(){
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
             Brick brick = new Brick(i,j, Color.RED);  
             bricks[i][j] = brick;
        }
    }
}

次のようになります。

OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
于 2016-02-05T11:22:35.333 に答える