Skip to main content

3과: '1'번으로 운전하세요

  • VR 로봇을 시작 위치로 되돌리려면 놀이터를 재설정하세요.
  • 이제 VR 로봇은 숫자 그리드 맵 놀이터에서 숫자 '31'에 도달하면 돌아서 숫자 '1'로 돌아갑니다.

    이전의 숫자 그리드 맵 놀이터의 왼쪽 하단 모서리에 x축과 y축이 겹쳐져 있습니다. x축의 -900에서 숫자 1로 향하는 화살표와 y축의 -900에서 숫자 1로 향하는 화살표가 표시되어 있습니다. VR 로봇은 현재 31위에 있으며, 좌표는 -900, 로봇 아래 -300입니다.
  • stop 명령을 제거하고 다음 명령으로 바꾸세요. 프로젝트는 다음과 같아야 합니다.
# "main"에 프로젝트 코드 추가
def main():
    while location.position(Y, MM) < -300:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 180, DEGREES)

    while location.position(Y, MM) > -900:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.stop()
  • 두 번째 while 루프에는 작음 연산자 대신 크음 연산자가 포함되어 있다는 점에 유의하세요. 이는 VR 로봇이 이제 Y축을 따라 주행하고 있으며 숫자가 점점 더 음수로 변하고 있기 때문입니다. VR 로봇은 Y 값이 -900보다 작아지면 멈춥니다.
    이전 단계에서 만든 프로젝트에서 두 번째 '위치 위치' 명령 주위에 빨간색 상자가 표시되어 더 큰 연산자에 주의를 끌었습니다.
  • 아직 열려 있지 않으면 Number Grid Map Playground 을 실행하고 프로젝트를 실행합니다.
  • 번호 그리드 맵 놀이터에서 VR 로봇이 숫자 '1'을 향해 달리는 모습을 지켜보세요.
  • 이 프로젝트에서 VR 로봇은 번호 그리드 맵 놀이터의 숫자 '1'을 향해 주행합니다. VR 로봇이 숫자 '1'에 도달할 때 Y 값은 에서 감소하므로, 이 프로젝트에서는 보다 큰 연산자를 사용합니다.

VR 로봇은 해당 숫자가 있는 좌표의 Y값보다 에서만큼 큰 Y값이 있는 동안 앞으로 주행하고, Y값이 해당 좌표의 Y값보다 에서 만큼 작은 Y값이 되면 멈춥니다. 숫자 '1'의 Y 값은 -900이므로, Y 값이 -900보다 작아지면 VR 로봇의 작동이 중단됩니다.
 

영상
방금 실행된 파이썬 프로젝트의 흐름입니다. 첫 번째 while 루프 옆에 순환 화살표가 있는데, Y 위치가 -100보다 작다는 텍스트가 있으면 True를 반환하고 로봇이 전진합니다. 그 아래에는 Y 위치가 -100보다 크다는 텍스트가 적힌 빨간색 화살표가 있고, False를 반환하면 루프가 종료되고 로봇이 오른쪽으로 회전합니다. 이 패턴은 while 루프 옆에 순환 화살표가 있는 마지막 두 청크에 대해 반복되며, y 위치가 -900보다 크다는 텍스트가 있으면 True를 반환하고 로봇이 전진합니다. 팔로우

귀하의 정보를 위해

주석은 일반적으로 프로그래머가 프로젝트의 각 부분에 무엇을 원하는지 설명하기 위해 프로젝트에 추가됩니다. 주석은 코드에 대한 맥락과 전반적인 의미를 제공하므로 협업과 문제 해결 시 유용합니다. 주석을 사용하면 프로그래머가 "추측하고 확인"하는 대신 프로젝트의 전반적인 목표와 의도에 대해 개념적으로 생각할 수 있습니다. Python의 주석은 파운드 기호로 시작하며 아래 코드에서 볼 수 있듯이 녹색으로 강조 표시됩니다. 특정 숫자와 어떤 좌표가 일치하는지 기억하고 싶으신가요? "-900, 700에 위치한 81번 도로로 운전하세요."라는 코멘트를 추가합니다. 이는 프로젝트의 다양한 섹션과 명령 간 소통에 도움이 됩니다.

# "main"에 프로젝트 코드 추가
def main():
    # (-900, 700)에 위치한 81로 주행
    while location.position(Y, MM) < 700:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    # 회전
    drivetrain.turn_for(RIGHT, 180, DEGREES)

    # (-900, -100)에 위치한 41로 주행
    while location.position(Y, MM) > -100:
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.stop()

주석에 대한 자세한 내용은 Python 을 사용하여 VEXcode VR에서 주석 사용하기 문서를 참조하세요.

이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.