Java Breakout 게임에 대한 자습서의 코드가 있습니다. 코드의 일부는 Brickmap입니다. 문제는이 코드의 논리를 이해하지 못하고 코드를 복사하지 않는다는 것입니다.Java가이 코드의 논리를 이해하지 못합니다.
저는 변수 맵을 배열로 생성한다는 것을 알고 있습니다. 그 후이 배열에 두 개의 변수 "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;
}
}
'map [0] .length'는 배열의 첫 번째 줄 또는 행의 길이를 의미합니다. 귀하의 라인이 2 차원 배열에서 다른 길이가 될 수 있기 때문에. –