레슨 3: 여러 While 루프를 사용한 프로젝트 흐름
이제 VR 로봇을 벽 미로 놀이터의 문자 'A'로 안내하는 텍스트 프로젝트를 만들었으니, 조건문과 센서 값을 사용하여 기술을 확장해 보겠습니다. 이 수업에서는 VR 로봇을 벽 미로 놀이터에서 숫자 '2'로 이동시킨 다음, 문자 'B'로 이동하려면 추가 명령이 필요한 이유를 알아봅니다. 미니 챌린지에서는 이러한 기술을 적용하여 벽 미로의 시작 부분에서 숫자 '3'까지 탐색하게 됩니다.

학습 성과
- 범퍼 센서가 눌릴 때까지 VR 로봇이 앞으로 주행하는 프로젝트의 프로그램 흐름을 설명하세요.
프로젝트 이름 바꾸기
- 이전 수업의 프로젝트가 아직 로드되지 않았다면 Unit4Lesson2 프로젝트를 로드하세요.
-
프로젝트 이름을 Unit4Lesson3로 바꾸세요.

'A' 문자로 구동되는 프로젝트의 흐름
이전 수업에서는 VR 로봇이 벽 미로 놀이터의 문자 'A'까지 이동했습니다. 벽 미로에서 새로운 위치로 이동하기 위한 준비에 따라 프로젝트 흐름을 분석해 보겠습니다.

-
벽 미로 놀이터의 'A' 문자로 운전하기 위한 프로젝트 흐름을 더 잘 이해하려면 이전 프로젝트를 수정하거나 이 기본 프로젝트와 일치하도록 새 프로젝트를 만드십시오.
def main(): while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(좌, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(좌, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.stop() - 프로젝트에서 not 조건과 함께 while루프를 사용하는 경우에도 해당 프로젝트의 프로그램 흐름은 여전히 위에서 아래로 동일한 순서를 따릅니다. while루프를 사용하면 조건이 충족되는 동안 프로그램 흐름이 특정 지점에서 "일시 중지"될 수 있습니다. not연산자을 사용하면 조건이 False로 보고될 때까지 프로젝트가 루프에 머무를 수 있습니다. 그러면 프로젝트는 루프 밖의 다음 명령으로 흘러갑니다. 왼쪽 범퍼가 눌렸다는 등의 부울 조건은 True 또는 False 값을 보고합니다. VR 로봇을 문자 'A'까지 이동시키는 이 코드에서 VR 로봇은 왼쪽 범퍼가 눌리는 부울 조건이 참이 될 때까지 앞으로 이동합니다.
문자 'A'까지 이동하기 위한 프로젝트의 흐름은 다음과 같습니다.
VR 로봇의 동작은 각while루프가 어떻게 실행되는지 보여줍니다. VR 로봇의 움직임을 함께 분석해 보면, 프로젝트에서while루프가 실행된 후 VR 로봇이 어디로 이동했는지 명확하게 볼 수 있습니다.
숫자 '2'로 운전하세요
이 수업에서는 VR 로봇이 벽 미로 놀이터의 숫자 '2'로 주행하도록 프로젝트를 편집합니다!

-
2과의 프로젝트에서는 VR 로봇이 좌회전하여 'A' 문자로 이동합니다. 숫자 '2'를 찾아가려면 VR 로봇은 오른쪽으로 돌아서 앞으로 이동한 다음 왼쪽으로 돌아야 합니다.

-
두 번째 turn_for명령의 방향을 왼쪽 대신 오른쪽으로 변경합니다. 이제 프로젝트는 다음과 같이 보일 것입니다.
def main(): while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(좌, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(우, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.stop() - 아직 열려 있지 않으면 Wall Maze Playground 을 실행하고 프로젝트를 실행합니다.
-
VR 로봇이 숫자 '2'를 향해 운전을 시작하지만 벽 앞에서 멈춥니다. 따라서 VR 로봇은 벽에 닿으면 멈추는 대신 왼쪽으로 회전해야 합니다.

-
"재설정" 버튼을 선택하면 놀이터가 재설정되고 VR 로봇이 시작 위치로 돌아갑니다.

-
VR 로봇을 숫자 '2'로 구동하기 위해 stop 명령을 제거하고 다음 명령으로 바꿔 코드를 편집합니다.
def main(): while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(좌, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(우, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(좌, 90, 도) while not left_bumper.pressed(): drivetrain.drive(전진) wait(5, MSEC) drivetrain.turn_for(좌, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - 아직 열려 있지 않으면 Wall Maze Playground 을 실행하고 프로젝트를 실행하세요.
-
VR 로봇이 벽 미로 놀이터에서 숫자 '2'를 향해 운전하는 모습을 지켜보세요!

- "재설정" 버튼을 선택하면 놀이터가 재설정되고 VR 로봇이 시작 위치로 돌아갑니다.
이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.