Skip to main content

[Java] 대각선 탐색용 방향벡터배열

대각선 탐색

// 8방향 (상, 하, 좌, 우, 좌상, 우상, 좌하, 우하)
int[] dx = {-1, 1, 0, 0, -1, -1, 1, 1};
int[] dy = {0, 0, -1, 1, -1, 1, -1, 1};
for (int i = 0; i < 8; i++) {
    int nx = p.x + dx[i];
    int ny = p.y + dy[i];
    
    if (nx < 0 || ny < 0 || nx >= n || ny >= m) continue; // 범위 체크
    
    if (maps[nx][ny] == 1) {
        maps[nx][ny] = maps[p.x][p.y] + 1;
        queue.add(new Point(nx, ny));
    }
}

image.png


참고 자료 : chatGPT