ds_grid_copy 함수 설명
ds_grid_copy
함수는 하나의 그리드의 내용을 다른 그리드로 복사하는 기능을 제공합니다. 두 그리드는 반드시 ds_grid_create()
함수를 사용하여 미리 생성되어야 합니다. 이 함수는 대상 그리드의 크기를 원본 그리드와 동일하게 조정합니다.
문법
ds_grid_copy(destination, source);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
destination | DS Grid | 복사할 대상 그리드의 핸들입니다. |
source | DS Grid | 복사할 원본 그리드의 핸들입니다. |
반환값
- N/A
예제
n_grid = ds_grid_create(1, 1);
ds_grid_copy(n_grid, a_grid);
ds_grid_clear(a_grid, -1);
위의 코드는 새로운 DS 그리드를 생성한 후, 이전 그리드에서 새로운 그리드로 정보를 복사합니다. 대상 DS 그리드의 시작 크기는 중요하지 않으며, 원본 그리드의 크기가 복사되기 전에 적용됩니다. 마지막으로, 이전 그리드를 지워 모든 셀의 값을 -1로 설정합니다.
활용 예제
예제 1: 그리드 복사 후 데이터 수정
// 원본 그리드 생성 및 데이터 입력
source_grid = ds_grid_create(3, 3);
ds_grid_set(source_grid, 0, 0, 1);
ds_grid_set(source_grid, 1, 1, 2);
ds_grid_set(source_grid, 2, 2, 3);
// 대상 그리드 생성
destination_grid = ds_grid_create(1, 1);
// 원본 그리드 복사
ds_grid_copy(destination_grid, source_grid);
// 데이터 수정
ds_grid_set(destination_grid, 0, 0, 10);
예제 2: 여러 그리드 복사 및 병합
// 첫 번째 그리드 생성
grid1 = ds_grid_create(2, 2);
ds_grid_set(grid1, 0, 0, 1);
ds_grid_set(grid1, 0, 1, 2);
// 두 번째 그리드 생성
grid2 = ds_grid_create(2, 2);
ds_grid_set(grid2, 0, 0, 3);
ds_grid_set(grid2, 0, 1, 4);
// 병합할 그리드 생성
merged_grid = ds_grid_create(1, 1);
// 첫 번째 그리드 복사
ds_grid_copy(merged_grid, grid1);
// 두 번째 그리드 복사
ds_grid_copy(merged_grid, grid2);
예제 3: 그리드 복사 후 원본 그리드 초기화
// 원본 그리드 생성 및 데이터 입력
original_grid = ds_grid_create(2, 2);
ds_grid_set(original_grid, 0, 0, 5);
ds_grid_set(original_grid, 1, 1, 10);
// 복사할 그리드 생성
copy_grid = ds_grid_create(1, 1);
// 원본 그리드 복사
ds_grid_copy(copy_grid, original_grid);
// 원본 그리드 초기화
ds_grid_clear(original_grid, 0);
이와 같은 예제들을 통해 ds_grid_copy
함수의 다양한 활용 방법을 이해할 수 있습니다.