여섯번째 모험 - 눈치가 빠른 용사가 되자
배우기
01 코딩용사가 되자
여섯번째 모험 - 눈치가 빠른 용사가 되자

변수를 활용해 앞으로 갔다가 뒤로 가봅시다!

세라
이번 모험의 목표는 용사가 앞으로 갔다가 뒤로 가게 하여 포탈에 도착하게 하는거에요. 앞선 모험에서 배운대로 용사를 앞으로 가도록 지시해볼까요?

용사가 앞으로 가자 생기는 포탈. 하지만 뒤에 있어요.

세라
용사가 앞으로 3칸 정도 가니 포탈이 생겼습니다만, 뒤에 생겼군요. 용사가 앞으로 3칸만 움직이고, 그 다음은 뒤로 가게 지시하면 될 것 같아요.

JavaScript
1
2
3
4
용사가 움직인 칸이 3칸이 아니라면
	앞으로 가기
그렇지 않으면
	뒤로 가기
세라
우리는 용사가 앞으로 몇 칸을 갔는지 알아야하고, 만약 3칸까지 갔다면 앞으로 가는게 아니라 뒤로 가도록 지시해줘야 해요. 용사가 몇 칸을 갔는지 어떻게 알 수 있을까요? 바로 변수를 사용하면 알 수 있어요.

JavaScript
1
2
3
4
5
6
위치 = 0 // 위치는 처음에는 0에서 시작한다.
만약 위치가 3보다 작다면 // 위치는 앞으로 움직일 때마다 1씩 늘어나므로, 3보다 작을 때만 앞으로 가야한다.
    앞으로 가기
    위치 = 위치 + 1 // 앞으로 갔으므로 위치를 1씩 올려준다.
그렇지 않으면 // 위치가 3이 되었을 때
    뒤로 가기
세라
"만약 위치가 3보다 작다면"이 바로 조건이에요. 조건 블럭을 이용하여 이것을 표현할 수 있어요. 조건 블럭에 대해서는 [여덟번째 모험]에서 더 자세히 배울거에요.

스크래치(Scratch)



엔트리(Entry)




세라
"위치"를 변수 블럭으로, "만약~그렇지 않으면"을 조건 블럭으로 표현해보니 간단해졌죠? 이제 변수 값에 따라 용사는 "앞으로 이동"을 하다가 "뒤로 이동"을 하게 될거에요.


세라
용사가 앞으로 가다가 뒤로 움직이도록 지시해 보았어요. 앞으로도 우리는 "만약 ~ 하다면 ~, 그렇지 않으면 ~" 이라는 조건 블럭을 통해 용사가 상황에 맞게 다른 행동을 하도록 지시해야해요. 이제 슬슬 공격을 배우러 가보실까요?