2019년 3월 13일 수요일

국비 교육 : 게임 프로그래밍 011일

11일차 교육에 작성된 내용을 요약해 본다.

조건을 제어하는 방식과 1차원 배열을 가지고 2차원 배열의 효과를 볼 수 있는 방식에 대한 내용이 작성되어 있다. 아마도 과제로 낸 내용이 2차원 배열을 이용한 내용이었나 보다.


반복문에 조건을 설정해 "지정된 상태 시 밖으로 나가라"라는 형태로 구현을 할 수 있다.

for(int i = 0 ; i < 5 ; i ++)
{
       if (j < 0)
       {
            break;
       }
}
위 코드에서는 j의 상태에 따라 for문을 벗어날 수 있다.


바둑판 위의 그림은 2차원 좌표로 생각해라.
가로 값은 x를 for 문으로 돌리고 세로값은 y를 for 문으로 돌리면 된다.

 0,0  0,1  0,2  0,3 |  0  1  2  3 | (4x0)+(0,1,2,3)
 1,0  1,1  1,2  1,3 |  4  5  6  7 | (4x1)+(0,1,2,3) 
 2,0  2,1  2,2  2,3 |  8  9 10 11 | (4x2)+(0,1,2,3)
 3,0  3,1  3,2  3,3 | 12 13 14 15 | (4x3)+(0,1,2,3)

이를 1차원 배열을 이용하면 다음과 같이 된다.

for(int y = 0 ; y < height ; y++)
{
       for(int x = 0 ; x < width ; x++)
       {
            int arrayIndex = y * height + x;
       }
}
height와 width로 높이와 너비를 지정하고 arrayIndex로 1차원 배열의 위치를 설정할 수 있다.

배열에 사용되는 index의 경우 -1로 초기화해 사용한다.
초기화 값이 지정되어 있지 않으면 0을 사용하기에 사용되는 0과 구분이 안 되는 경우가 발생한다.


이처럼 반복문 탈출과 2차원 배열 활용하기에 대한 내용이 작성됐다.
바둑판 모양의 2차원 배열을 이용한 신경쇠약과 같은 게임이 과제로 나오지 않았나 싶다.

댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...