-
제 친구들을 출력하는 배열로 돌아왔어요
-
그런데 저를 굉장히 거슬리게 하는 것이 있네요
-
새로운 친구를 배열에 추가할 때마다
새로운 text 명령어를 추가해야 해요
-
Winston을 추가해 볼게요
-
자동으로 나타나지는 않아요
-
그를 나타나게 하고싶으면 'text(myFriends[3]'
을 쓰고 y좌표를 바꿔야 하죠
-
이렇게 하면 일이 너무 많아요
-
배열에 누군가를 추가할 때마다 text 명령어도
자동으로 되었으면 좋겠어요
-
반복문에 대해 배웠던 것 기억나세요?
-
반복문은 같은 코드를 반복해서
사용할 때 쓰면 좋은 방법이에요
-
마치 나무나 풍선들을 한 줄로
세운다거나 할 때 말이죠
-
반복문은 배열의 각 요소들에 대해
코드를 실행할 때 쓰면 좋아요
-
사실 여러분들이 배열을 쓸 때마다
반복문을 함께 사용하게 될거에요
-
둘은 굉장히 잘 어울리거든요
-
제 친구들의 이름을 출력할 때 매번
명령어를 쓰지 않고 반복문을 사용해볼게요
-
반복문을 사용할 때의 세 가지 질문들로 시작할게요
-
첫번째, 뭘 반복해야하나요?
-
여기 뭐가 반복되나요?
text 명령어죠.
-
매번 무엇을 바꿔야 하나요?
-
여기 뭐가 다른지 한번 살펴볼게요
-
y좌표와 현재 인덱스군요
그러니까 친구 번호와 y좌표
-
몇 번 반복해야하죠?
친구가 없을 때까지 반복해야해요
-
이제 필요한 것을 알았으니
반복문을 만들 수 있어요
-
반복문에서 우리가 어디까지 와 있는지를
알려주는 카운터 변수로 시작할게요
-
그러니까 'var friendNum = 0;' 으로요
-
0부터 시작할거에요
배열의 첫번째는 0인걸 기억하세요
-
다음에 여기 while문을 쓸게요
-
'while(friendNum < myfriends.length)'
-
현재 카운터 변수와
배열 요소의 총 개수를 비교할 거에요
-
반복문 안에는 text명령어를 쓸거에요
-
'text(myFriends['라고 쓰고, 여기에 숫자 대신 'friendNum'을 쓰세요
왜냐하면 그것이 현재의 순서를 말해주는 것이니까요
-
지금은 좌표를 고정시켜 둘게요
-
지금은 friendNum을 바꾸지 않아서
무한반복 에러가 발생해요
-
매번 friendNum을 증가시키는 걸 잊지마세요
-
아니면 조건이 항상 참이기 때문에
반복문이 무한히 수행될 거에요
-
여기 뭔가 생겼네요
예전 코드는 주석으로 처리할게요
-
모든 이름들이 나타났지만
다 겹쳐져 있어요
-
y좌표를 바꿔보도록 하죠
-
'friendNum * 30'으로 할게요
-
낫긴한데 Sophia가 화면 밖으로 벗어났군요
얘가 알면 별로 좋아하지 않을 것 같아요
-
여기 30을 더할게요
이제 30만큼 내려왔네요
-
아름답네요!
반복문을 사용해 배열을 출력하게 되었어요
-
이제 OhNoesGuy나 Sal을 array에 추가하면
바로 제 친구가 되는 거에요
-
항상 배열 전체를 훑기 때문에
새 친구들을 자동으로 보여줄 거에요
-
예전 코드는 더 이상 필요없으니 지울게요
-
이 코드가 어떤 일을 하는지 다시 살펴볼게요
-
friendNum = 0 부터 시작해요
-
그리고 friendNum이 배열의
현재 길이보다 작은지 체크해요
-
0은 6보다 작아요
참이죠
-
그러면 반복문안으로 들어가서
text명령어를 수행해요
-
처음에는 myFriends[0] 에요
-
다음엔 30 + 0 * 30 이고요
-
그러니까 Sophia를 (10,30)위치에 출력해요
-
그리고 friendNum++ 을 하니까 1이 되요
-
다시 돌아가서 "1은 myFriends.length
보다 작지? 응, 맞아" 를 하는거에요
-
그리고 또 하고, 또 하고, 또 계속 반복 해요
-
마지막으로 Sal이 나와요
-
기억하세요. Sal은 6번째 요소지만
0에서 시작하니까 인덱스는 5에요
-
5가 6보다 작나요?
그렇죠
-
myFriends[5]를 출력하게 돼요
-
그럼 이 값이 6이 될 거고
"6이 6보다 작나요?" 아뇨. 같죠
-
이건 거짓이 될 거에요
여섯 번째 요소를 출력하지 않겠죠
-
6번 인덱스엔 아무것도 없으니까 괜찮아요
-
6번째 요소는 있지만
6번 인덱스엔 아무것도 없어요
-
좀 헷갈릴 수 있지만
곧 익숙해 질거에요
-
좋아요. 이게 반복문이에요
-
만약 for문을 더 좋아하면
for문을 사용해도 돼요.
-
for문에서는 'for'랑 'var friendNum = 0;'
을 쓰고 여기 조건을 쓸게요
-
'friendNum < myFriends.length;'
-
그리고 증가하는 부분도요
'friendNum++'
-
for문 안에는 이 코드를 쓰면 돼요
-
여러분이 보이도록 x좌표를 바꿀게요
-
둘 다 완전히 같은 일을 해요
-
어떤 걸 사용할지는
여러분 마음이에요
-
요점은 반복문을 배열과 함께
사용하면 좋다는 거에요
-
왜냐면 여러분들을 훨씬
강력하게 해줄거니까요