Skip to main content

수업 3: 프로젝트 후 요약

VR 로봇은 녹색 디스크에 도달했을 때 왜 계속 주행했을까요?

이 프로젝트를 실행하면 VR 로봇은 아래 영상에서 볼 수 있듯이 첫 번째 녹색 디스크와 충돌하더라도 계속해서 앞으로 나아갑니다.

비디오 파일

이 프로젝트에서는 VR 로봇에게 프로젝트 시작 시 각 if else 문의 조건을 한 번만 확인하도록 지시합니다.VEXcode VR 프로젝트의 논리 흐름을 나타낸 다이어그램입니다. 화살표는 각 if 문이 프로젝트가 종료되기 전에 한 번만 실행되므로, 프로젝트의 응답성이 우리가 원하는 것보다 훨씬 떨어진다는 것을 나타냅니다. 우리 프로젝트에서는 앞눈이 녹색을 감지하는지 확인하고, 감지되면 오른쪽으로 90도 회전합니다. 다음으로, 앞눈이 파란색을 감지하면 왼쪽으로 90도 회전합니다. 다음으로, 앞눈이 빨간색을 감지하면 운전을 멈춥니다. 마지막으로, 앞눈이 아무것도 감지하지 못하면 앞으로 나아갑니다.

if 문은 while루프와 다릅니다.

  • 루프에서는 VR 로봇이 결정을 내릴 필요가 없습니다. 조건이 참이면not 조건을 갖는 while루프는 루프 외부의 다음 명령을 실행합니다. 조건이 False이면 not 조건을 사용하는 while 루프는 조건이 True가 될 때까지 계속 기다리고 나머지 프로젝트 실행을 중지합니다.
    while not 문과 루프 외부의 turn right 명령을 사용한 파이썬 프로젝트의 프로젝트 흐름도입니다. 오른쪽에 순환적인 빨간색 화살표가 표시되어 있으며, 그 안에는 '계속해서 상태를 확인함', '앞쪽 눈이 녹색을 감지하지 못함', '로봇이 앞으로 주행함'이라는 문구가 적혀 있습니다. 빨간색 화살표 아래에는 녹색 화살표가 있으며 그 안에는 "앞쪽 눈이 녹색을 감지하고 루프를 종료합니다"라는 문구가 적혀 있습니다.
  • 이 VR 로봇에게 결정을 내리도록 요구합니다. 조건이 참이면 if 문 내부의 명령이 실행됩니다. 조건이 False이면 if 문 내부의 명령은 실행되지 않습니다.
    페이지 시작 부분과 동일한 프로젝트 흐름으로, 4개의 연속적인 if 문과 오른쪽에 녹색 화살표가 있습니다. 각 화살표 옆에는 질문과 답변이 있습니다. 순서대로 읽으세요: 앞 눈이 녹색을 감지합니까? 거짓. 프런트 아이는 파란색을 감지하나요? 거짓. 프런트 아이는 빨간색을 감지합니까? 거짓. 앞눈은 색상을 감지하지 못하나요? 진정한 전진.
  • Front Eye 센서는 프로젝트 시작 시 색상을 감지하지 못하므로 마지막 if 문은 True를 반환합니다. VR 로봇은 프로젝트 시작 시 마지막 if 문장이 True로 보고되고 다른 모든 블록이 False로 보고된 이후로 계속해서 구동됩니다. 
  • 이 프로젝트에는 조건을 반복적으로 확인하기 위해 프로젝트 흐름을 일시 중지할 수 있는 루프가 없다는 점에 유의하세요. if문은 조건을 한 번 확인한 후 계속 진행합니다. 
  • 다음 수업으로 넘어가기 전에 프로젝트를 저장하여 if명령문을 사용하여 반복적으로 조건을 확인하는 방법을 알아보세요.

질문

아래 링크를 선택하여 수업 퀴즈에 참여하세요.

Google 문서 / .docx / .pdf