[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:03.15,Default,,0000,0000,0000,,보석은 예쁘죠 Dialogue: 0,0:00:03.15,0:00:08.28,Default,,0000,0000,0000,,보석 한개보다 좋은 건 여러개의 보석이죠 Dialogue: 0,0:00:08.28,0:00:12.56,Default,,0000,0000,0000,,이제 우리는 loop을 사용해서\N여러개의 보석을 만들줄 알죠 Dialogue: 0,0:00:12.56,0:00:16.16,Default,,0000,0000,0000,,for loop을 사용해 \N한 줄에 12개의 보석을 만들어보죠 Dialogue: 0,0:00:16.16,0:00:19.52,Default,,0000,0000,0000,,왼쪽에서 오른쪽으로요 Dialogue: 0,0:00:19.52,0:00:22.30,Default,,0000,0000,0000,,이렇게요 Dialogue: 0,0:00:22.30,0:00:31.19,Default,,0000,0000,0000,,for 안에 변수 i = 0; i는 12보다 작고; i++ Dialogue: 0,0:00:31.19,0:00:36.43,Default,,0000,0000,0000,,이 줄을 복사해서 for문 안에다가 붙여넣어요 Dialogue: 0,0:00:36.43,0:00:40.30,Default,,0000,0000,0000,,이렇게 하면 12개의 보석이\N맨 윗줄 한 칸에 겹쳐서 나와요 Dialogue: 0,0:00:40.30,0:00:43.40,Default,,0000,0000,0000,,근데 우리는 화면을 가로질러서 나오게하고 싶어요 Dialogue: 0,0:00:43.40,0:00:45.94,Default,,0000,0000,0000,,그렇다는 건 x값이 바꿔야한다는거죠 Dialogue: 0,0:00:45.94,0:00:49.52,Default,,0000,0000,0000,,지금은 36인데, 매번 값이\N다르게 나오게하고 싶어요 Dialogue: 0,0:00:49.52,0:00:51.86,Default,,0000,0000,0000,,i값을 이용해서 하면 됩니다 Dialogue: 0,0:00:51.86,0:00:56.33,Default,,0000,0000,0000,,간단하게 i 곱하기 36\N이렇게 하면 Dialogue: 0,0:00:56.33,0:01:02.69,Default,,0000,0000,0000,,첫번째 값은 0이고, 다음은 36, 72.... Dialogue: 0,0:01:02.69,0:01:04.58,Default,,0000,0000,0000,,이제 한 줄의 보석이 나오네요 Dialogue: 0,0:01:04.58,0:01:07.100,Default,,0000,0000,0000,,인디아나존스나 알라딘 영화를 보면 Dialogue: 0,0:01:07.100,0:01:11.31,Default,,0000,0000,0000,,보석을 발견할 때 Dialogue: 0,0:01:11.31,0:01:13.73,Default,,0000,0000,0000,,보통 이렇게 한 줄의 보석만을 발견하지 않죠 Dialogue: 0,0:01:13.73,0:01:17.31,Default,,0000,0000,0000,,보석 더미를 발견하죠 Dialogue: 0,0:01:17.31,0:01:21.61,Default,,0000,0000,0000,,그럼 어떻게 하면 보석을 쭈욱 Dialogue: 0,0:01:21.61,0:01:24.81,Default,,0000,0000,0000,,스크린 밑에까지 나오게 할 수 있을까요? Dialogue: 0,0:01:24.81,0:01:30.64,Default,,0000,0000,0000,,우선 이 for loop을 복사 붙여넣기 한 후 Dialogue: 0,0:01:30.64,0:01:34.56,Default,,0000,0000,0000,,y를 매번 바꿔줍니다 Dialogue: 0,0:01:34.56,0:01:37.69,Default,,0000,0000,0000,,60 그 다음에는 90 Dialogue: 0,0:01:37.69,0:01:42.31,Default,,0000,0000,0000,,이제 보석 3줄이 생겼네요 Dialogue: 0,0:01:42.31,0:01:45.50,Default,,0000,0000,0000,,하지만 이 방법이 좋지 않은게 Dialogue: 0,0:01:45.50,0:01:49.19,Default,,0000,0000,0000,,매줄마다 복사 붙여넣기 한 후 \N값을 바꿔줘야되요 Dialogue: 0,0:01:49.19,0:01:52.86,Default,,0000,0000,0000,,이렇게 반복적인 코드를 작성하면 Dialogue: 0,0:01:52.86,0:01:57.02,Default,,0000,0000,0000,,"loop을 사용해야지" 라는 생각이 들지만 Dialogue: 0,0:01:57.02,0:01:58.61,Default,,0000,0000,0000,,이미 loop을 쓰고 있어요 Dialogue: 0,0:01:58.61,0:02:03.85,Default,,0000,0000,0000,,그렇다면 이런 반복적인\N코드 작성의 해결책은 뭘까요? Dialogue: 0,0:02:03.85,0:02:09.52,Default,,0000,0000,0000,,Nested for loop (겹쳐진 for loop) 이라는 것이 있습니다\Nloop 안에 loop 입니다 Dialogue: 0,0:02:09.52,0:02:12.13,Default,,0000,0000,0000,,바깥쪽 loop을 만든 후에 Dialogue: 0,0:02:12.13,0:02:14.85,Default,,0000,0000,0000,,이건 스크린 밑으로 \N내려가는 걸 해주는 loop이고 Dialogue: 0,0:02:14.85,0:02:19.23,Default,,0000,0000,0000,,안쪽 loop은 보석 한 줄을 Dialogue: 0,0:02:19.23,0:02:21.98,Default,,0000,0000,0000,,왼쪽에서 오른쪽으로 나타나게 합니다 Dialogue: 0,0:02:21.98,0:02:24.01,Default,,0000,0000,0000,,어떻게 하는지 보여드리죠 Dialogue: 0,0:02:24.01,0:02:29.85,Default,,0000,0000,0000,,변수 i를 사용하고 있으니 \N다른 변수 j를 사용하죠 Dialogue: 0,0:02:29.85,0:02:37.27,Default,,0000,0000,0000,,변수 j = 0; j는 13보다 작고; j++ Dialogue: 0,0:02:37.27,0:02:41.100,Default,,0000,0000,0000,,이게 위에서 아래로 내려가는 것을\N담당하는 저희의 바깥쪽 loop이 됩니다 Dialogue: 0,0:02:41.100,0:02:48.24,Default,,0000,0000,0000,,기존에 사용했던 for loop을 안에다가 넣습니다 Dialogue: 0,0:02:48.24,0:02:53.27,Default,,0000,0000,0000,,들여쓰기를 고치고, 기존의 것을 지웁니다 Dialogue: 0,0:02:53.27,0:02:59.11,Default,,0000,0000,0000,,이렇게하면 한 줄에 똑같은 보석이 겹치게 나옵니다 Dialogue: 0,0:02:59.11,0:03:01.97,Default,,0000,0000,0000,,그러니 y의 값이 변하게 해줘야겠죠 Dialogue: 0,0:03:01.97,0:03:04.31,Default,,0000,0000,0000,,기존의 것을 그대로 가져왔기 때문에 Dialogue: 0,0:03:04.31,0:03:06.11,Default,,0000,0000,0000,,y값이 항상 90입니다 Dialogue: 0,0:03:06.11,0:03:09.44,Default,,0000,0000,0000,,매 행마다 y의 값이 바뀌게 하고 싶어요 Dialogue: 0,0:03:09.44,0:03:16.19,Default,,0000,0000,0000,,x는 i값을 이용하니, y는 j를 이용하게 합니다 Dialogue: 0,0:03:16.19,0:03:24.66,Default,,0000,0000,0000,,x에서 했던 방식대로 j 곱하기 30을 합니다 Dialogue: 0,0:03:24.66,0:03:29.93,Default,,0000,0000,0000,,짜잔! 멋집니다. Dialogue: 0,0:03:29.93,0:03:31.78,Default,,0000,0000,0000,,다시 우리가 한 것을 살펴보죠 Dialogue: 0,0:03:31.78,0:03:38.34,Default,,0000,0000,0000,,바깥쪽 loop은 j가 13이 될 때까지 실행하며 Dialogue: 0,0:03:38.34,0:03:44.34,Default,,0000,0000,0000,,매번 안쪽 loop을 실행시킵니다 Dialogue: 0,0:03:44.34,0:03:48.67,Default,,0000,0000,0000,,안쪽 loop은 i가 12이 될 때까지 실행하고 Dialogue: 0,0:03:48.67,0:03:55.36,Default,,0000,0000,0000,,매번 i와 j를 이용하여 \Nx와 y위치에 보석을 그립니다 Dialogue: 0,0:03:55.36,0:03:59.61,Default,,0000,0000,0000,,따라서 i의 값이 j의 값보다 훨씬 더 자주 변하죠 Dialogue: 0,0:03:59.61,0:04:05.24,Default,,0000,0000,0000,,더 잘 이해하기 위해 실제로 i 값과 j 값이 변하는 것을\N시각적으로 보도록 합시다 Dialogue: 0,0:04:05.24,0:04:09.28,Default,,0000,0000,0000,,이미지 출력 부분을 주석처리하고 Dialogue: 0,0:04:09.28,0:04:12.03,Default,,0000,0000,0000,,색이 나오게 한 후 Dialogue: 0,0:04:12.03,0:04:16.80,Default,,0000,0000,0000,,text 명령어를 이용해 j값이 보이게하죠 Dialogue: 0,0:04:16.80,0:04:22.02,Default,,0000,0000,0000,,이 위치에 j가 나타나도록 입력합니다 Dialogue: 0,0:04:22.02,0:04:26.01,Default,,0000,0000,0000,,이제 j가 0부터 12까지 나오는게 보이네요 Dialogue: 0,0:04:26.01,0:04:32.02,Default,,0000,0000,0000,,이건 보석의 행의 위치와 같죠 Dialogue: 0,0:04:32.02,0:04:35.68,Default,,0000,0000,0000,,이제 i의 값이 어떻게 변해 가는지를 보도록 합시다 Dialogue: 0,0:04:35.68,0:04:43.07,Default,,0000,0000,0000,,다른 색깔이 나오게 한 다음 Dialogue: 0,0:04:43.07,0:04:46.48,Default,,0000,0000,0000,,i를 입력해서 Dialogue: 0,0:04:46.48,0:04:50.27,Default,,0000,0000,0000,,x 값이 화면의 가로로 나오게 x값이 변하게 해줍니다 Dialogue: 0,0:04:50.27,0:04:54.69,Default,,0000,0000,0000,,y에도 똑같이 해주고요 Dialogue: 0,0:04:54.69,0:04:59.56,Default,,0000,0000,0000,,i가 0부터 11까지 나오는게 보이네요 Dialogue: 0,0:04:59.56,0:05:04.69,Default,,0000,0000,0000,,i가 더 자주 변하는 걸 알 수 있죠 Dialogue: 0,0:05:04.69,0:05:08.78,Default,,0000,0000,0000,,그리고 이 줄의 코드가 \N윗줄의 코드보다 더 많이 실행됩니다 Dialogue: 0,0:05:08.78,0:05:13.86,Default,,0000,0000,0000,,왜냐하면 이 줄은 안쪽 loop이 \N실행될때마다 실행되는데 Dialogue: 0,0:05:13.86,0:05:19.53,Default,,0000,0000,0000,,윗 줄의 코드는 바깥loop이 실행될때만\N실행되니까요 Dialogue: 0,0:05:19.53,0:05:22.14,Default,,0000,0000,0000,,i와 j값을 출력해봤는데요 Dialogue: 0,0:05:22.14,0:05:26.97,Default,,0000,0000,0000,,nested for loop을 더 잘 이해하셨기를 바랍니다 Dialogue: 0,0:05:26.97,0:05:30.48,Default,,0000,0000,0000,,다시 보석 문제로 돌아가보죠 Dialogue: 0,0:05:30.48,0:05:34.07,Default,,0000,0000,0000,,nested for loop에서 많은 걸 할 수 있는데요 Dialogue: 0,0:05:34.07,0:05:37.23,Default,,0000,0000,0000,,이 세상에 있는 것들 중에서 Dialogue: 0,0:05:37.23,0:05:39.60,Default,,0000,0000,0000,,2차원 무늬들은 체스보드나 퀼트 Dialogue: 0,0:05:39.60,0:05:44.56,Default,,0000,0000,0000,,미국 국기의 별, 멋진 패턴, 벽지모양 등이 있는데 Dialogue: 0,0:05:44.56,0:05:47.46,Default,,0000,0000,0000,,우선 이 코드를 이용해 Dialogue: 0,0:05:47.46,0:05:49.81,Default,,0000,0000,0000,,이미지를 바꿔보도록 하죠 Dialogue: 0,0:05:49.81,0:05:55.50,Default,,0000,0000,0000,,하트모양이 나오도록 해보죠 Dialogue: 0,0:05:55.50,0:05:59.16,Default,,0000,0000,0000,,짠!