1 00:00:00,000 --> 00:00:04,238 제 친구들을 출력하는 배열로 돌아왔어요 2 00:00:04,238 --> 00:00:07,007 그런데 저를 굉장히 거슬리게 하는 것이 있네요 3 00:00:07,007 --> 00:00:11,295 새로운 친구를 배열에 추가할 때마다 새로운 text 명령어를 추가해야 해요 4 00:00:11,295 --> 00:00:13,378 Winston을 추가해 볼게요 5 00:00:13,378 --> 00:00:16,011 자동으로 나타나지는 않아요 6 00:00:16,011 --> 00:00:22,440 그를 나타나게 하고싶으면 'text(myFriends[3]' 을 쓰고 y좌표를 바꿔야 하죠 7 00:00:22,440 --> 00:00:24,972 이렇게 하면 일이 너무 많아요 8 00:00:24,972 --> 00:00:31,587 배열에 누군가를 추가할 때마다 text 명령어도 자동으로 되었으면 좋겠어요 9 00:00:31,587 --> 00:00:34,736 반복문에 대해 배웠던 것 기억나세요? 10 00:00:34,736 --> 00:00:38,378 반복문은 같은 코드를 반복해서 사용할 때 쓰면 좋은 방법이에요 11 00:00:38,378 --> 00:00:43,273 마치 나무나 풍선들을 한 줄로 세운다거나 할 때 말이죠 12 00:00:43,273 --> 00:00:48,764 반복문은 배열의 각 요소들에 대해 코드를 실행할 때 쓰면 좋아요 13 00:00:48,764 --> 00:00:54,182 사실 여러분들이 배열을 쓸 때마다 반복문을 함께 사용하게 될거에요 14 00:00:54,182 --> 00:00:57,949 둘은 굉장히 잘 어울리거든요 15 00:00:57,949 --> 00:01:03,736 제 친구들의 이름을 출력할 때 매번 명령어를 쓰지 않고 반복문을 사용해볼게요 16 00:01:03,736 --> 00:01:07,795 반복문을 사용할 때의 세 가지 질문들로 시작할게요 17 00:01:07,795 --> 00:01:09,926 첫번째, 뭘 반복해야하나요? 18 00:01:09,926 --> 00:01:13,087 여기 뭐가 반복되나요? text 명령어죠. 19 00:01:13,087 --> 00:01:15,178 매번 무엇을 바꿔야 하나요? 20 00:01:15,178 --> 00:01:17,658 여기 뭐가 다른지 한번 살펴볼게요 21 00:01:17,658 --> 00:01:26,138 y좌표와 현재 인덱스군요 그러니까 친구 번호와 y좌표 22 00:01:26,138 --> 00:01:33,570 몇 번 반복해야하죠? 친구가 없을 때까지 반복해야해요 23 00:01:33,570 --> 00:01:37,440 이제 필요한 것을 알았으니 반복문을 만들 수 있어요 24 00:01:37,440 --> 00:01:42,033 반복문에서 우리가 어디까지 와 있는지를 알려주는 카운터 변수로 시작할게요 25 00:01:42,033 --> 00:01:44,546 그러니까 'var friendNum = 0;' 으로요 26 00:01:44,546 --> 00:01:50,408 0부터 시작할거에요 배열의 첫번째는 0인걸 기억하세요 27 00:01:50,408 --> 00:01:52,596 다음에 여기 while문을 쓸게요 28 00:01:52,596 --> 00:01:57,664 'while(friendNum < myfriends.length)' 29 00:01:57,664 --> 00:02:04,462 현재 카운터 변수와 배열 요소의 총 개수를 비교할 거에요 30 00:02:04,462 --> 00:02:07,588 반복문 안에는 text명령어를 쓸거에요 31 00:02:07,588 --> 00:02:15,200 'text(myFriends['라고 쓰고, 여기에 숫자 대신 'friendNum'을 쓰세요 왜냐하면 그것이 현재의 순서를 말해주는 것이니까요 32 00:02:15,200 --> 00:02:17,961 지금은 좌표를 고정시켜 둘게요 33 00:02:17,961 --> 00:02:25,380 지금은 friendNum을 바꾸지 않아서 무한반복 에러가 발생해요 34 00:02:25,380 --> 00:02:28,020 매번 friendNum을 증가시키는 걸 잊지마세요 35 00:02:28,020 --> 00:02:32,720 아니면 조건이 항상 참이기 때문에 반복문이 무한히 수행될 거에요 36 00:02:32,720 --> 00:02:38,651 여기 뭔가 생겼네요 예전 코드는 주석으로 처리할게요 37 00:02:38,651 --> 00:02:43,137 모든 이름들이 나타났지만 다 겹쳐져 있어요 38 00:02:43,137 --> 00:02:45,706 y좌표를 바꿔보도록 하죠 39 00:02:45,706 --> 00:02:50,111 'friendNum * 30'으로 할게요 40 00:02:50,111 --> 00:02:55,129 낫긴한데 Sophia가 화면 밖으로 벗어났군요 얘가 알면 별로 좋아하지 않을 것 같아요 41 00:02:55,129 --> 00:02:59,628 여기 30을 더할게요 이제 30만큼 내려왔네요 42 00:02:59,628 --> 00:03:04,294 아름답네요! 반복문을 사용해 배열을 출력하게 되었어요 43 00:03:04,294 --> 00:03:12,679 이제 OhNoesGuy나 Sal을 array에 추가하면 바로 제 친구가 되는 거에요 44 00:03:12,679 --> 00:03:21,161 항상 배열 전체를 훑기 때문에 새 친구들을 자동으로 보여줄 거에요 45 00:03:21,161 --> 00:03:24,296 예전 코드는 더 이상 필요없으니 지울게요 46 00:03:24,296 --> 00:03:28,237 이 코드가 어떤 일을 하는지 다시 살펴볼게요 47 00:03:28,237 --> 00:03:31,628 friendNum = 0 부터 시작해요 48 00:03:31,628 --> 00:03:34,483 그리고 friendNum이 배열의 현재 길이보다 작은지 체크해요 49 00:03:34,483 --> 00:03:37,841 0은 6보다 작아요 참이죠 50 00:03:37,841 --> 00:03:41,712 그러면 반복문안으로 들어가서 text명령어를 수행해요 51 00:03:41,712 --> 00:03:44,294 처음에는 myFriends[0] 에요 52 00:03:44,294 --> 00:03:47,295 다음엔 30 + 0 * 30 이고요 53 00:03:47,295 --> 00:03:53,712 그러니까 Sophia를 (10,30)위치에 출력해요 54 00:03:53,712 --> 00:03:56,295 그리고 friendNum++ 을 하니까 1이 되요 55 00:03:56,295 --> 00:04:00,251 다시 돌아가서 "1은 myFriends.length 보다 작지? 응, 맞아" 를 하는거에요 56 00:04:00,251 --> 00:04:02,606 그리고 또 하고, 또 하고, 또 계속 반복 해요 57 00:04:02,606 --> 00:04:04,610 마지막으로 Sal이 나와요 58 00:04:04,610 --> 00:04:11,622 기억하세요. Sal은 6번째 요소지만 0에서 시작하니까 인덱스는 5에요 59 00:04:11,622 --> 00:04:14,266 5가 6보다 작나요? 그렇죠 60 00:04:14,266 --> 00:04:16,182 myFriends[5]를 출력하게 돼요 61 00:04:16,182 --> 00:04:21,628 그럼 이 값이 6이 될 거고 "6이 6보다 작나요?" 아뇨. 같죠 62 00:04:21,628 --> 00:04:25,440 이건 거짓이 될 거에요 여섯 번째 요소를 출력하지 않겠죠 63 00:04:25,440 --> 00:04:29,272 6번 인덱스엔 아무것도 없으니까 괜찮아요 64 00:04:29,272 --> 00:04:33,392 6번째 요소는 있지만 6번 인덱스엔 아무것도 없어요 65 00:04:33,392 --> 00:04:40,030 좀 헷갈릴 수 있지만 곧 익숙해 질거에요 66 00:04:40,030 --> 00:04:42,432 좋아요. 이게 반복문이에요 67 00:04:42,432 --> 00:04:46,585 만약 for문을 더 좋아하면 for문을 사용해도 돼요. 68 00:04:46,585 --> 00:04:54,252 for문에서는 'for'랑 'var friendNum = 0;' 을 쓰고 여기 조건을 쓸게요 69 00:04:54,252 --> 00:04:58,677 'friendNum < myFriends.length;' 70 00:04:58,677 --> 00:05:01,672 그리고 증가하는 부분도요 'friendNum++' 71 00:05:01,672 --> 00:05:06,711 for문 안에는 이 코드를 쓰면 돼요 72 00:05:06,711 --> 00:05:09,710 여러분이 보이도록 x좌표를 바꿀게요 73 00:05:09,710 --> 00:05:12,085 둘 다 완전히 같은 일을 해요 74 00:05:12,085 --> 00:05:14,070 어떤 걸 사용할지는 여러분 마음이에요 75 00:05:14,070 --> 00:05:17,196 요점은 반복문을 배열과 함께 사용하면 좋다는 거에요 76 00:05:17,196 --> 00:05:21,181 왜냐면 여러분들을 훨씬 강력하게 해줄거니까요