코드 최적화를 위해 40 등 사각형 (10x10px)을 포함하는 2 차원 배열을 만들고 싶습니다. 각 사각형은 표시된 창 (400x400 픽셀)의 1 \ 40을 나타냅니다.2 차원 배열 사각형 초기화 및 선택
2d 배열을 표준 이중 for 루프 방법으로 채 웁니다.
int col = 40;
int row = 40;
int boxPosition = 0; //Position of the box (coordinates)
Integer[][] boxes = new Integer[40][40];
for (int i = 0; i < col; i++) {
for (int j = 0; j < row; j++) {
boxes[i][j] = boxPosition;
boxPosition += 10; //Creates a 10px box.
}
boxPosition = 0; //Resets box size for next column
}
이 프로그램에 여러 개의 원을을 수 있습니다. 우리는 적 (원)쪽으로 미사일 (원)을 발사하는 우주선 (원)을 가지고 있습니다.
사각형 중 하나에 총알 + 적이있을 때만 충돌 감지를 실행하고 싶습니다. 이렇게하면 코드를 크게 최적화 할 수 있습니다.
질문은 ... 2 차원 배열에서이 사각형을 어떻게 만들 수 있습니까? 각 사각형을 어떻게 선택합니까? 미사일과 적들이 같은 광장 안에 있는지 어떻게 테스트 할 수 있습니까?
코드 예제는 대단히 적절합니다.
감사합니다.
boxSize는 무엇을 의미합니까? 그것이 "박스"의 크기라면, 그것들은 모두 동일하지 않습니다. 그것이 위치적인 것이라면, 그것이 의미하는 바를 분명히해야합니다. – JLewkovich
좋은 지적. 예, 위치입니다. 방금 고쳤습니다. – Gregg1989
좌표를 하나의 값으로 저장하는 것은 실제로 그렇게 작동하지 않습니다. 2D 그리드를 사용하는 경우 최소한 두 개의 좌표 값이 필요합니다. – JLewkovich