0:00:00.000,0:00:03.272 지난번에 이어서, 동전던지기 게임을 만들어볼게요 0:00:03.272,0:00:06.517 지난 시간에, 0과 1 사이의 임의의 숫자를 만들고 0:00:06.517,0:00:08.787 반올림 해서 정수로 만들었어요 0:00:08.787,0:00:11.954 그렇게 하면 0 또는 1을 얻을 수 있죠 0:00:11.954,0:00:18.598 그리고 이 동전을 동그라미로 그리고 나오는 [br]숫자에 따라 보라색이나 노란색으로 표시되도록 했지요 0:00:18.598,0:00:20.627 그 코드가 여기 있네요 0:00:20.627,0:00:23.507 정수가 0이면 보라색으로 0:00:23.507,0:00:25.687 그렇지 않으면 노란색으로 색칠하네요 0:00:25.687,0:00:27.587 동전을 여기에 그렸죠 0:00:27.587,0:00:32.455 이제 3개의 면을 가진 동전을 생각해봐요 0:00:32.455,0:00:33.990 3번째 면을 추가해봅시다 0:00:33.990,0:00:37.109 숫자를 0부터 2까지 만들어볼거에요 0:00:37.109,0:00:41.693 그리고 반올림하면 [br]정수는 0, 1, 2 라는 값을 가질 수 있어요 0:00:41.693,0:00:45.729 그런데 지금의 코드를 살펴보면[br]2가지 경우만 고려하고 있어요 0:00:45.729,0:00:48.815 정수가 0이면 보라색[br]그렇지 않으면 노란색이죠 0:00:48.815,0:00:51.885 이제 0이 아닌 경우는[br]1 또는 2가 되겠네요 0:00:51.885,0:00:54.931 이전에 했던 걸 똑같이 적용해볼까요? 0:00:54.931,0:00:57.443 else 블럭 안에, if-else를 다시 써 넣는거에요 0:00:57.443,0:01:05.743 정수가 1이면 노란색으로 칠해요 0:01:05.743,0:01:11.153 그렇지 않으면 빨간색으로 칠해요 0:01:11.153,0:01:15.478 0이면 보라색 0:01:15.478,0:01:18.984 그렇지 않고 1이면 노란색 0:01:18.984,0:01:24.491 0도 아니고 1도 아닌 경우는 2이죠[br]그러면 빨간색을 칠해요 0:01:24.491,0:01:28.566 버튼을 여러번 눌러볼게요[br]작동하네요! 0:01:28.566,0:01:30.956 동전의 면을 더 추가하고 싶네요 0:01:30.956,0:01:33.773 숫자를 0부터 3까지 만들고 0:01:33.773,0:01:37.090 else 블럭 안에 if-else를 또 추가 하면 되겠죠 0:01:37.090,0:01:40.158 그렇게 else로 감싸진 코드가 수없이 만들어 지게 됩니다 0:01:40.158,0:01:44.704 아... 정말 좋지 않은 코드네요. 보기 안좋아요! 0:01:44.704,0:01:48.881 코드는 읽기 쉽고 간결해야 합니다[br]못생기면 안되요 0:01:48.881,0:01:50.600 그래서 무언가를 해볼거에요 0:01:50.600,0:01:57.843 만약 우리가 else 블록 안에 하나의 if 문 혹은 [br]하나의 if-else문만 있고 그 밖에는 아무것도 없다면 0:01:57.843,0:02:04.486 즉, stroke 함수나 [br]또 다른 if-else 구문이 없다면 0:02:04.486,0:02:08.444 우리는 하나의 if 문 혹은 거기에 하나의 else 블록이 붙어 있을 수는 있어요 0:02:08.444,0:02:13.156 그렇다면, 이 if 구문과 바로 앞줄을 합칠 수 있어요[br]그리고 이렇게 됩니다 0:02:13.156,0:02:17.073 else if (integer ===1) 그러면 색깔을 노란색으로 채웁니다 0:02:17.073,0:02:21.939 마지막 else는 다른것과 연결되지 않고[br]그냥 제일 마지막에 와서 붙습니다 0:02:21.939,0:02:27.067 좋습니다! 결국, 이 코드는 [br]정수가 0이면 보라색 0:02:27.067,0:02:30.235 그렇지 않고 1이면 노란색 0:02:30.235,0:02:34.484 그렇지 않으면 (즉, 이들 두가지가 다 false이면) [br]빨간색을 칠하는 겁니다 0:02:34.484,0:02:37.738 restart 를 여러번 눌렀는데, 잘 작동하는거 보이죠? 0:02:37.738,0:02:41.824 좋습니다! 이것의 장점은 우리가 원하는 만큼 [br]else-if룰 추가해서 사용할 수 있다는 겁니다 0:02:41.824,0:02:44.703 동전의 면을 쉽게 늘릴 수 있겠죠 0:02:44.703,0:02:48.009 한번 해봅시다. 숫자를 0~3까지 만들고 0:02:48.009,0:02:56.188 else 블럭을 하나 더 추가했어요[br]else if (integer === 2) 0:02:56.188,0:02:59.658 이 경우에는 빨간색을 칠해요 0:02:59.658,0:03:02.658 마지막 else 블럭은 정수가 3인 경우입니다 0:03:02.658,0:03:08.969 이 경우에는 파란색을 칠해볼께요. 좋습니다! 0:03:08.969,0:03:12.816 이렇게 하려면, 제일 먼저 if 문으로부터 시작하고 0:03:12.816,0:03:16.570 그 다음에 원하는 만큼의 else-if 가 추가 되고요 0:03:16.570,0:03:18.698 제일 마지막 것은 옵션입니다 0:03:18.698,0:03:21.900 하지만 else가 없으면, 앞의 모든 경우가 거짓인 경우에 0:03:21.900,0:03:23.722 아무것도 실행하지 않겠죠 0:03:23.722,0:03:26.883 하지만 이 코드에는 else가 있으니까 0:03:26.883,0:03:30.354 이 경우에는 해당 코드블럭이 실행되겠죠 0:03:30.354,0:03:37.017 이 경우는 if, else-if, else 를 사용하지 않고 0:03:37.017,0:03:45.509 if 만을 사용해도 됩니다 0:03:45.509,0:03:50.728 왜냐하면 정수는 0, 1, 2, 3 일수밖에 없으니까요 0:03:50.728,0:03:54.223 모든 경우의 수가 겹치는 게 없어요[br]상호 배타적입니다 0:03:54.223,0:03:56.609 이 코드 블럭들 중에서 하나만 실행됩니다 0:03:56.609,0:03:59.218 하지만 항상 그런 경우들만 있는 것은 아닙니다 0:03:59.218,0:04:02.356 숫자를 반올림 해서 정수로 만들지 않으면 어떻게 될까요? 0:04:02.356,0:04:05.455 예를 들어 숫자를 반올림 해서 [br]정수로 만드는 것 없이 하면 어떻게 될까요? 0:04:05.455,0:04:07.600 다른 부분은 화면을 그리는 코드입니다 0:04:07.600,0:04:09.284 새로운 규칙을 만들어볼게요 0:04:09.284,0:04:12.637 여전히 숫자는 0부터 3까지 만들거에요 0:04:12.637,0:04:15.315 그리고 여기 숫자 선 위에 마크를 해볼께요 0:04:15.315,0:04:26.028 그 숫자가 0과 1사이의 값이면 보라색을 칠할거에요 0:04:26.028,0:04:30.504 1부터 2까지는 노란색 0:04:30.504,0:04:35.533 2부터 3까지는 빨간색을 칠할거에요 0:04:35.533,0:04:38.651 이것을 if와 else-if 구문으로 어떻게 표현할 수 있을까요? 0:04:38.651,0:04:43.542 숫자가 1보다 작은 경우는 0:04:43.542,0:04:50.796 이 경우는 0 과 3 사이에 있죠 0:04:50.796,0:04:55.746 이 경우는 보라색을 칠하고 0:04:55.746,0:05:06.122 그렇지 않고 2보다 작으면 노란색으로 0:05:06.122,0:05:13.943 그렇지 않으면 빨간색으로 칠할거에요 0:05:13.943,0:05:16.076 원하는 대로 작동하죠? 0:05:16.076,0:05:19.307 1보다 작으면 이 범위에 있구요 0:05:19.307,0:05:23.603 그렇지 않고, 1과 같거나 크고 2보다 작으면 0:05:23.603,0:05:26.462 이 범위에 있죠. 노란색을 칠할거에요 0:05:26.462,0:05:31.900 그렇지 않으면, 2보다 큰 크거나 같은 경우입니다[br]이 범위에 해당하죠 0:05:31.900,0:05:36.277 이렇게 바꾸면 ( else if 에서 else를 삭제하면 )[br]숫자가 2보다 작은 경우라고 하면 안됩니다 0:05:36.277,0:05:39.650 숫자가 3보다 작은 경우라고 해서도 안되죠 0:05:39.650,0:05:42.932 숫자가 1보다 작은 경우는 2보다 작은 경우에 포함되니까요 0:05:42.932,0:05:44.896 물론 3보다 작은 경우에도 포함되죠 0:05:44.896,0:05:48.331 그러니 동전은 항상 빨간색으로 표시되겠죠 0:05:48.331,0:05:52.361 이 경우에는 else-if 를 쓰는게 편리하겠죠