[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:03.27,Default,,0000,0000,0000,,지난번에 이어서, 동전던지기 게임을 만들어볼게요 Dialogue: 0,0:00:03.27,0:00:06.52,Default,,0000,0000,0000,,지난 시간에, 0과 1 사이의 임의의 숫자를 만들고 Dialogue: 0,0:00:06.52,0:00:08.79,Default,,0000,0000,0000,,반올림 해서 정수로 만들었어요 Dialogue: 0,0:00:08.79,0:00:11.95,Default,,0000,0000,0000,,그렇게 하면 0 또는 1을 얻을 수 있죠 Dialogue: 0,0:00:11.95,0:00:18.60,Default,,0000,0000,0000,,그리고 이 동전을 동그라미로 그리고 나오는 \N숫자에 따라 보라색이나 노란색으로 표시되도록 했지요 Dialogue: 0,0:00:18.60,0:00:20.63,Default,,0000,0000,0000,,그 코드가 여기 있네요 Dialogue: 0,0:00:20.63,0:00:23.51,Default,,0000,0000,0000,,정수가 0이면 보라색으로 Dialogue: 0,0:00:23.51,0:00:25.69,Default,,0000,0000,0000,,그렇지 않으면 노란색으로 색칠하네요 Dialogue: 0,0:00:25.69,0:00:27.59,Default,,0000,0000,0000,,동전을 여기에 그렸죠 Dialogue: 0,0:00:27.59,0:00:32.46,Default,,0000,0000,0000,,이제 3개의 면을 가진 동전을 생각해봐요 Dialogue: 0,0:00:32.46,0:00:33.99,Default,,0000,0000,0000,,3번째 면을 추가해봅시다 Dialogue: 0,0:00:33.99,0:00:37.11,Default,,0000,0000,0000,,숫자를 0부터 2까지 만들어볼거에요 Dialogue: 0,0:00:37.11,0:00:41.69,Default,,0000,0000,0000,,그리고 반올림하면 \N정수는 0, 1, 2 라는 값을 가질 수 있어요 Dialogue: 0,0:00:41.69,0:00:45.73,Default,,0000,0000,0000,,그런데 지금의 코드를 살펴보면\N2가지 경우만 고려하고 있어요 Dialogue: 0,0:00:45.73,0:00:48.82,Default,,0000,0000,0000,,정수가 0이면 보라색\N그렇지 않으면 노란색이죠 Dialogue: 0,0:00:48.82,0:00:51.88,Default,,0000,0000,0000,,이제 0이 아닌 경우는\N1 또는 2가 되겠네요 Dialogue: 0,0:00:51.88,0:00:54.93,Default,,0000,0000,0000,,이전에 했던 걸 똑같이 적용해볼까요? Dialogue: 0,0:00:54.93,0:00:57.44,Default,,0000,0000,0000,,else 블럭 안에, if-else를 다시 써 넣는거에요 Dialogue: 0,0:00:57.44,0:01:05.74,Default,,0000,0000,0000,,정수가 1이면 노란색으로 칠해요 Dialogue: 0,0:01:05.74,0:01:11.15,Default,,0000,0000,0000,,그렇지 않으면 빨간색으로 칠해요 Dialogue: 0,0:01:11.15,0:01:15.48,Default,,0000,0000,0000,,0이면 보라색 Dialogue: 0,0:01:15.48,0:01:18.98,Default,,0000,0000,0000,,그렇지 않고 1이면 노란색 Dialogue: 0,0:01:18.98,0:01:24.49,Default,,0000,0000,0000,,0도 아니고 1도 아닌 경우는 2이죠\N그러면 빨간색을 칠해요 Dialogue: 0,0:01:24.49,0:01:28.57,Default,,0000,0000,0000,,버튼을 여러번 눌러볼게요\N작동하네요! Dialogue: 0,0:01:28.57,0:01:30.96,Default,,0000,0000,0000,,동전의 면을 더 추가하고 싶네요 Dialogue: 0,0:01:30.96,0:01:33.77,Default,,0000,0000,0000,,숫자를 0부터 3까지 만들고 Dialogue: 0,0:01:33.77,0:01:37.09,Default,,0000,0000,0000,,else 블럭 안에 if-else를 또 추가 하면 되겠죠 Dialogue: 0,0:01:37.09,0:01:40.16,Default,,0000,0000,0000,,그렇게 else로 감싸진 코드가 수없이 만들어 지게 됩니다 Dialogue: 0,0:01:40.16,0:01:44.70,Default,,0000,0000,0000,,아... 정말 좋지 않은 코드네요. 보기 안좋아요! Dialogue: 0,0:01:44.70,0:01:48.88,Default,,0000,0000,0000,,코드는 읽기 쉽고 간결해야 합니다\N못생기면 안되요 Dialogue: 0,0:01:48.88,0:01:50.60,Default,,0000,0000,0000,,그래서 무언가를 해볼거에요 Dialogue: 0,0:01:50.60,0:01:57.84,Default,,0000,0000,0000,,만약 우리가 else 블록 안에 하나의 if 문 혹은 \N하나의 if-else문만 있고 그 밖에는 아무것도 없다면 Dialogue: 0,0:01:57.84,0:02:04.49,Default,,0000,0000,0000,,즉, stroke 함수나 \N또 다른 if-else 구문이 없다면 Dialogue: 0,0:02:04.49,0:02:08.44,Default,,0000,0000,0000,,우리는 하나의 if 문 혹은 거기에 하나의 else 블록이 붙어 있을 수는 있어요 Dialogue: 0,0:02:08.44,0:02:13.16,Default,,0000,0000,0000,,그렇다면, 이 if 구문과 바로 앞줄을 합칠 수 있어요\N그리고 이렇게 됩니다 Dialogue: 0,0:02:13.16,0:02:17.07,Default,,0000,0000,0000,,else if (integer ===1) 그러면 색깔을 노란색으로 채웁니다 Dialogue: 0,0:02:17.07,0:02:21.94,Default,,0000,0000,0000,,마지막 else는 다른것과 연결되지 않고\N그냥 제일 마지막에 와서 붙습니다 Dialogue: 0,0:02:21.94,0:02:27.07,Default,,0000,0000,0000,,좋습니다! 결국, 이 코드는 \N정수가 0이면 보라색 Dialogue: 0,0:02:27.07,0:02:30.24,Default,,0000,0000,0000,,그렇지 않고 1이면 노란색 Dialogue: 0,0:02:30.24,0:02:34.48,Default,,0000,0000,0000,,그렇지 않으면 (즉, 이들 두가지가 다 false이면) \N빨간색을 칠하는 겁니다 Dialogue: 0,0:02:34.48,0:02:37.74,Default,,0000,0000,0000,,restart 를 여러번 눌렀는데, 잘 작동하는거 보이죠? Dialogue: 0,0:02:37.74,0:02:41.82,Default,,0000,0000,0000,,좋습니다! 이것의 장점은 우리가 원하는 만큼 \Nelse-if룰 추가해서 사용할 수 있다는 겁니다 Dialogue: 0,0:02:41.82,0:02:44.70,Default,,0000,0000,0000,,동전의 면을 쉽게 늘릴 수 있겠죠 Dialogue: 0,0:02:44.70,0:02:48.01,Default,,0000,0000,0000,,한번 해봅시다. 숫자를 0~3까지 만들고 Dialogue: 0,0:02:48.01,0:02:56.19,Default,,0000,0000,0000,,else 블럭을 하나 더 추가했어요\Nelse if (integer === 2) Dialogue: 0,0:02:56.19,0:02:59.66,Default,,0000,0000,0000,,이 경우에는 빨간색을 칠해요 Dialogue: 0,0:02:59.66,0:03:02.66,Default,,0000,0000,0000,,마지막 else 블럭은 정수가 3인 경우입니다 Dialogue: 0,0:03:02.66,0:03:08.97,Default,,0000,0000,0000,,이 경우에는 파란색을 칠해볼께요. 좋습니다! Dialogue: 0,0:03:08.97,0:03:12.82,Default,,0000,0000,0000,,이렇게 하려면, 제일 먼저 if 문으로부터 시작하고 Dialogue: 0,0:03:12.82,0:03:16.57,Default,,0000,0000,0000,,그 다음에 원하는 만큼의 else-if 가 추가 되고요 Dialogue: 0,0:03:16.57,0:03:18.70,Default,,0000,0000,0000,,제일 마지막 것은 옵션입니다 Dialogue: 0,0:03:18.70,0:03:21.90,Default,,0000,0000,0000,,하지만 else가 없으면, 앞의 모든 경우가 거짓인 경우에 Dialogue: 0,0:03:21.90,0:03:23.72,Default,,0000,0000,0000,,아무것도 실행하지 않겠죠 Dialogue: 0,0:03:23.72,0:03:26.88,Default,,0000,0000,0000,,하지만 이 코드에는 else가 있으니까 Dialogue: 0,0:03:26.88,0:03:30.35,Default,,0000,0000,0000,,이 경우에는 해당 코드블럭이 실행되겠죠 Dialogue: 0,0:03:30.35,0:03:37.02,Default,,0000,0000,0000,,이 경우는 if, else-if, else 를 사용하지 않고 Dialogue: 0,0:03:37.02,0:03:45.51,Default,,0000,0000,0000,,if 만을 사용해도 됩니다 Dialogue: 0,0:03:45.51,0:03:50.73,Default,,0000,0000,0000,,왜냐하면 정수는 0, 1, 2, 3 일수밖에 없으니까요 Dialogue: 0,0:03:50.73,0:03:54.22,Default,,0000,0000,0000,,모든 경우의 수가 겹치는 게 없어요\N상호 배타적입니다 Dialogue: 0,0:03:54.22,0:03:56.61,Default,,0000,0000,0000,,이 코드 블럭들 중에서 하나만 실행됩니다 Dialogue: 0,0:03:56.61,0:03:59.22,Default,,0000,0000,0000,,하지만 항상 그런 경우들만 있는 것은 아닙니다 Dialogue: 0,0:03:59.22,0:04:02.36,Default,,0000,0000,0000,,숫자를 반올림 해서 정수로 만들지 않으면 어떻게 될까요? Dialogue: 0,0:04:02.36,0:04:05.46,Default,,0000,0000,0000,,예를 들어 숫자를 반올림 해서 \N정수로 만드는 것 없이 하면 어떻게 될까요? Dialogue: 0,0:04:05.46,0:04:07.60,Default,,0000,0000,0000,,다른 부분은 화면을 그리는 코드입니다 Dialogue: 0,0:04:07.60,0:04:09.28,Default,,0000,0000,0000,,새로운 규칙을 만들어볼게요 Dialogue: 0,0:04:09.28,0:04:12.64,Default,,0000,0000,0000,,여전히 숫자는 0부터 3까지 만들거에요 Dialogue: 0,0:04:12.64,0:04:15.32,Default,,0000,0000,0000,,그리고 여기 숫자 선 위에 마크를 해볼께요 Dialogue: 0,0:04:15.32,0:04:26.03,Default,,0000,0000,0000,,그 숫자가 0과 1사이의 값이면 보라색을 칠할거에요 Dialogue: 0,0:04:26.03,0:04:30.50,Default,,0000,0000,0000,,1부터 2까지는 노란색 Dialogue: 0,0:04:30.50,0:04:35.53,Default,,0000,0000,0000,,2부터 3까지는 빨간색을 칠할거에요 Dialogue: 0,0:04:35.53,0:04:38.65,Default,,0000,0000,0000,,이것을 if와 else-if 구문으로 어떻게 표현할 수 있을까요? Dialogue: 0,0:04:38.65,0:04:43.54,Default,,0000,0000,0000,,숫자가 1보다 작은 경우는 Dialogue: 0,0:04:43.54,0:04:50.80,Default,,0000,0000,0000,,이 경우는 0 과 3 사이에 있죠 Dialogue: 0,0:04:50.80,0:04:55.75,Default,,0000,0000,0000,,이 경우는 보라색을 칠하고 Dialogue: 0,0:04:55.75,0:05:06.12,Default,,0000,0000,0000,,그렇지 않고 2보다 작으면 노란색으로 Dialogue: 0,0:05:06.12,0:05:13.94,Default,,0000,0000,0000,,그렇지 않으면 빨간색으로 칠할거에요 Dialogue: 0,0:05:13.94,0:05:16.08,Default,,0000,0000,0000,,원하는 대로 작동하죠? Dialogue: 0,0:05:16.08,0:05:19.31,Default,,0000,0000,0000,,1보다 작으면 이 범위에 있구요 Dialogue: 0,0:05:19.31,0:05:23.60,Default,,0000,0000,0000,,그렇지 않고, 1과 같거나 크고 2보다 작으면 Dialogue: 0,0:05:23.60,0:05:26.46,Default,,0000,0000,0000,,이 범위에 있죠. 노란색을 칠할거에요 Dialogue: 0,0:05:26.46,0:05:31.90,Default,,0000,0000,0000,,그렇지 않으면, 2보다 큰 크거나 같은 경우입니다\N이 범위에 해당하죠 Dialogue: 0,0:05:31.90,0:05:36.28,Default,,0000,0000,0000,,이렇게 바꾸면 ( else if 에서 else를 삭제하면 )\N숫자가 2보다 작은 경우라고 하면 안됩니다 Dialogue: 0,0:05:36.28,0:05:39.65,Default,,0000,0000,0000,,숫자가 3보다 작은 경우라고 해서도 안되죠 Dialogue: 0,0:05:39.65,0:05:42.93,Default,,0000,0000,0000,,숫자가 1보다 작은 경우는 2보다 작은 경우에 포함되니까요 Dialogue: 0,0:05:42.93,0:05:44.90,Default,,0000,0000,0000,,물론 3보다 작은 경우에도 포함되죠 Dialogue: 0,0:05:44.90,0:05:48.33,Default,,0000,0000,0000,,그러니 동전은 항상 빨간색으로 표시되겠죠 Dialogue: 0,0:05:48.33,0:05:52.36,Default,,0000,0000,0000,,이 경우에는 else-if 를 쓰는게 편리하겠죠