Java不了解此代码的逻辑

时间:2017-03-25 21:24:26

标签: java

我有一个Java Breakout Game教程的代码。代码的一部分是Brickmap。问题是我并不真正理解这段代码背后的逻辑,我不会只是复制代码。

我只知道创建一个带数组的变量映射。之后我把两个变量“row”和“col”放在这个数组中。问题是我不理解“map.lenght”。

import java.awt.*;

public class BrickMap {
   int map[][];
   int brickHeight;
   int brickWigth;


public BrickMap(int row, int col){
    map= new int [row][col];
    for(int i = 0; i < map.length; i++){
        for(int j = 0; j < map[0].length; j++){
            map[i][j] = 1;
        }
    }

    brickWigth = 640/col;
    brickHeight = 170/row;

}

public void draw(Graphics2D g){
    for(int i = 0; i < map.length; i++){
        for(int j = 0; j < map[0].length; j++) {

            if(map[i][j] > 0){
                g.setColor(Color.ORANGE);
                g.fillRect(j *brickWigth + 80, i *brickHeight + 50 , brickWigth, brickHeight);

                g.setStroke(new BasicStroke(4));
                g.setColor(Color.darkGray);
                g.drawRect(j *brickWigth + 80, i *brickHeight + 50 , brickWigth, brickHeight);

            }
        }
    }


}

public void setBrickValue(int value, int row, int col){
    map[row][col] = value;



}






}

2 个答案:

答案 0 :(得分:2)

map是一个二维数组。 map.length指定由row定义的第一个维度的长度。 map[0].length依次指定第二维的第一个数组的长度。

答案 1 :(得分:1)

map.length返回数组中元素的数量。

map[0].length返回地图数组中第一个数组中的元素数(二维)。