먼저 해 보기
작품을 플레이하며 살펴보세요
손님 수와 안내판이 어떻게 달라지는지 관찰하며 오른쪽 문제를 한 문제씩 풀어 보세요.
① 시작하기 ② 한 명 입장 눌러보기 ③ 한 명 탑승 눌러보기
관찰 문제
1 / 7
관찰에서 발견으로
놀이공원의 첫 번째 비밀
손님이 들어오거나 탑승할 때, 안내판은 다음 순서로 움직입니다.
그리고 다시 확인하고, 또 확인합니다.
상황에 맞게 고르기
조건을 사용하면 상황에 따라 다른 행동을 정할 수 있어요.
변화를 놓치지 않기
계속 확인하면 상황이 바뀌었을 때 프로그램도 자동으로 반응해요.
다음 비밀
손님을 자동으로 줄 세우는 비밀
손님이 여러 명 들어와도 서로 겹치지 않고 나란히 섭니다. 손님들의 가로 위치에는 어떤 규칙이 있을까요?
손님이 한 명 늘 때마다 x좌표는 얼마나 바뀌나요?
찾았어요! 손님이 한 명 늘어날 때마다 x좌표가 30씩 커집니다.
한 걸음 더 · x좌표
x좌표는 캐릭터의 가로 위치예요
오른쪽으로 갈수록 숫자가 커지고, 왼쪽으로 갈수록 숫자가 작아집니다.
직접 계산하기
첫 자리에서 30씩 움직여 볼까요?
칸 수의 비밀
왜 손님의 순서에서 1을 뺄까요?
첫 번째 손님은 첫 자리에서 한 칸도 더 움직이지 않아야 합니다. 그래서 1 - 1 = 0에서 시작해요.
이동할 칸 수 = 대기인원 - 1
반대 방향
왼쪽 줄에서는 무엇이 달라질까요?
오른쪽으로 한 칸 가면 +30, 왼쪽으로 한 칸 가면 -30
현재 줄에서의 순서
이미 탄 사람을 빼면 몇 번째인지 알 수 있어요
대기순서 = 줄번호 - 탑승누적
마지막에 수식으로 연결하기
우리가 찾은 규칙을 한 줄로 모아 봐요
한 칸 = 30
이동 거리 = (대기인원 - 1) × 30
x = 70 + ((대기인원 - 1) × 30)
실제 코드에서 다시 찾기
아까 발견한 숫자와 변수를 찾아보세요
손님 입장 신호를 받았을 때
x 좌표를 70 + ((대기인원 - 1) × 30) 으로 정하기
복제본이 처음 생성되었을 때
대기순서를 줄번호 - 탑승누적으로 정하기
왼쪽 첫 자리에서 대기순서에 따라 -30씩 이동하기
- 첫 자리 70은 어디에 있나요?
- 한 칸 30은 어디에 있나요?
- 왼쪽의 -30은 어디에 있나요?
- 대기인원은 어디에서 사용되나요?
마지막 확인
비밀을 모두 찾았나요?
확인 문제
1 / 3
오늘의 발견
세 가지를 기억해요
조건을 사용하면 상황에 따라 다른 행동을 만들 수 있습니다.
반복해서 확인하면 프로그램이 변화에 자동으로 반응합니다.
좌표에도 규칙을 만들면 여러 캐릭터를 자동으로 줄 세울 수 있습니다.