본문으로 건너뛰기
PlayMemorize

Robot Programmer 마스터하기

TLDR: Robot Programmer는 좌회전, 전진, 우회전 단계를 대기열에 추가하여 먼저 프로그램을 작성한 다음 실행을 누르고 로봇이 실행하는 것을 지켜보는 코딩 퍼즐입니다. 실시간으로 조종하지 않습니다. 전체 프로그램을 실행하기 전에 정신적으로 시뮬레이션하고, 실행 취소를 사용하여 한 번에 한 단계씩 수정하고, 모든 충돌을 다시 시작 신호가 아닌 디버깅 단서로 처리하여 프로그램을 마스터하세요.

핵심 과제 이해

Robot Programmer는 코딩 메커니즘으로 둘러싸인 공간 계획 퍼즐입니다. 대화형으로 로봇을 조종하는 실시간 게임을 플레이하는 것이 아닙니다. 대신 왼쪽으로 회전, 앞으로 이동, 오른쪽으로 회전 등 일련의 명령을 미리 작성한 다음 실행을 누르고 로봇이 전체 프로그램을 자동으로 실행하는 것을 지켜보세요. 직접적인 제어에서 계획된 시퀀스로의 전환은 두뇌 훈련이 이루어지는 곳입니다.

로봇은 미로 내의 특정 위치와 방향에서 시작하고 목표 마커는 해당 미로의 다른 곳에 위치합니다. 벽은 공간을 방과 복도로 나눕니다. 귀하의 임무는 벽에 부딪히지 않고 로봇을 시작부터 목표까지 안내하는 프로그램을 작성하는 것입니다. 로봇이 벽을 향해 전진하면 라운드가 종료됩니다. 회전은 결코 충돌하지 않습니다. 필요한 만큼 로봇을 회전시킬 수 있습니다. 그러나 모든 앞으로의 발걸음은 벽이 아닌 개구부를 통과해야 합니다.

레벨을 오를 때마다 미로는 커집니다. 몇 레벨마다 방의 행과 열이 추가되어 경로가 더 길고 복잡해집니다. 모든 미로에는 적어도 하나의 유효한 솔루션이 있다는 것이 보장됩니다. 당신의 임무는 그것을 찾고, 코딩하고, 충돌 없이 실행하는 것입니다.

Robot ProgrammerOpen game
Loading…

이 게임이 구축하는 세 가지 기술

로봇 프로그래머는 세 가지 상호 연결된 인지 능력을 훈련합니다.

시퀀싱은 정확하고 논리적인 흐름으로 단계를 정렬하는 것입니다. 각 명령은 다른 명령에 비해 올바른 위치에 와야 합니다. 프로그램에 두 단계가 모두 나타나더라도 좌회전 후 전진 이동은 전진 이동 후 좌회전과 다른 결과를 생성합니다. 주문이 전부입니다.

공간 시각화는 프로그램을 실행하지 않고도 각 단계마다 로봇의 위치와 방향을 상상하는 기능입니다. 미로를 상상하고, 로봇이 시작하는 위치를 추적하고, 회전할 때마다 정신적으로 회전하고, 전진할 때마다 복도를 통해 전진해야 합니다. 이 정신 시뮬레이션은 대부분의 플레이어가 처음에 어려움을 겪는 부분이자 연습을 통해 가장 극적인 개선이 이루어지는 부분입니다.

디버깅은 탐정 작업입니다. 로봇이 충돌하거나 목표에 도달하지 못한 채 정지하면 프로그램을 단계별로 읽고 정신적으로 재생한 다음 어떤 명령이 실패의 원인인지 정확히 찾아내야 합니다. 방향을 잘못 바꾸셨나요? 한 단계 앞으로 너무 많이 이동합니까? 옆 복도 앞에서 방향을 바꾸는 것을 잊으셨나요? 이 읽기-계획-수정 루프는 전문 프로그래머가 매일 수행하는 작업이며, 게임을 훨씬 뛰어넘는 기술입니다.

첫 번째 프로그램 구축

가장 간단한 경로부터 시작하세요. 초기 레벨에는 넓은 복도와 명확한 경로가 있는 작고 개방된 미로가 있습니다. 로봇의 시작점과 진행 방향을 기준으로 목표 위치를 살펴보세요.

목표가 바로 앞에 있다면 앞으로 나아가는 단계만 필요할 수도 있습니다. 오른쪽에 있다면 먼저 우회전한 후 이동하세요. 로봇 뒤에 있는 경우 좌회전 두 번(또는 우회전 두 번)로 이동하기 전에 180도 회전합니다.

초기 라운드에서는 실행 취소를 자유롭게 사용하세요. 좌회전, 전진, 우회전 등 버튼을 누를 때마다 프로그램 대기열에 한 단계가 추가됩니다. 단계가 잘못되었다는 것을 시퀀스 중간에 발견한 경우 지우기를 누르고 처음부터 시작하는 대신 실행 취소를 눌러 단계를 삭제하세요. 이를 통해 불이익 없이 실험할 수 있으며 각 단계 유형이 로봇의 궤적에 어떤 영향을 미치는지에 대한 본능을 구축할 수 있습니다.

프로그램을 빌드하기 전에 물리적으로 경로를 추적하십시오. 미로 디스플레이에서 로봇의 시작 위치를 가리킨 다음, 목표를 향해 복도를 따라 선을 따라가며 모든 회전을 기록합니다. 이 물리적 추적이 청사진이 됩니다. 그런 다음 대기열에 구축하는 프로그램은 단계적으로 작성된 추적일 뿐입니다.

정신적 실행 기법

대부분의 충돌을 제거하는 유일한 습관은 실행을 누르기 전에 정신적으로 프로그램을 실행하는 것입니다. 대기열에 각 단계를 추가한 후 잠시 멈추고 다음과 같이 질문하십시오. “로봇은 현재 어디에 있으며 어느 방향을 향하고 있습니까?”

예를 들어, 로봇이 위를 향하기 시작하고 프로그램이 [우회전, 전진, 전진, 좌회전, 전진]인 경우 정신적으로 시뮬레이션하십시오.

  1. 우회전 - 로봇은 이제 오른쪽을 향합니다.
  2. 앞으로 - 로봇이 한 셀을 오른쪽으로 이동합니다.
  3. 앞으로 - 로봇이 다른 셀을 오른쪽으로 이동합니다.
  4. 좌회전 - 이제 로봇이 위를 향합니다.
  5. 앞으로 - 로봇이 한 셀 위로 이동합니다.

미로를 통해 이 경로를 추적하고 벽 충돌 없이 목표에 도달한 것을 확인한 후에만 실행을 눌러야 합니다. 이 습관은 대부분의 충돌을 즉시 제거합니다.

미리보기-실행 패턴. 새로운 단계를 추가할 때마다 처음부터 정신적으로 전체 프로그램을 재생하십시오. 로봇이 어디에 있는지, 어느 방향을 향하고 있는지 확실하지 않은 경우 단계 추가를 중지하고 실행을 누르세요. 시각적 실행은 정신 모델이 현실과 다른 지점을 정확하게 보여주어 명확한 디버깅 목표를 제공합니다.

모든 지시 후에는 위치와 방향이라는 두 가지 사항을 추적합니다. 회전 후 방향은 바뀌지만 위치는 동일하게 유지됩니다. 앞으로 이동한 후 위치는 변경되지만 방향은 동일하게 유지됩니다. 이 두 가지 사실을 고정시키면 회전과 움직임을 혼동하는 가장 일반적인 정신 시뮬레이션 오류를 방지할 수 있습니다.

일반적인 실수와 해결 방법

앞으로 한 걸음 이동하는 거리를 과대평가합니다. 앞으로 버튼을 한 번 탭하면 로봇이 직면하는 방향으로 정확히 한 셀 이동합니다. 복도가 3개 셀 길이인 경우 별도의 3단계 전진 단계가 필요합니다. 거리를 잘못 계산하는 것은 프로그램에서 단계가 부족하거나 로봇을 벽에 너무 늦게 보내는 가장 일반적인 원인입니다.

방향 변경 전에 회전하는 것을 잊어버렸습니다. 로봇은 현재 방향을 따라서만 앞으로 이동할 수 있습니다. 다른 방향으로 이동하려면 먼저 회전해야 합니다. 잘못된 방향을 바라보면서 앞으로 두드리면 로봇이 벽에 곧장 부딪힙니다.

여러 차례 회전한 후 방향 드리프트. 여러 번 회전한 후에는 많은 플레이어가 로봇이 어느 방향을 향하고 있는지 파악하지 못합니다. 정신 모델에서 명시적으로 위, 아래, 왼쪽, 오른쪽으로 제목을 지정하고 회전 지시가 있을 때마다 로봇이 향하는 방향을 확인하세요. 확실하지 않다면 자신 있는 단계만 실행을 누르고 실제 결과를 관찰한 후 계속 진행하세요.

검증하기 전에 너무 많은 단계를 연결합니다. 한 번에 15개 단계를 구축하고 실행하는 것은 쉽게 진단할 수 없는 충돌의 비결입니다. 숙련된 프로그래머라도 복잡한 작업을 더 작고 검증 가능한 덩어리로 나눕니다. 경로가 복잡해 보이면 5개의 단계를 만들고 정신적으로 작동하는지 확인한 다음(또는 간단한 테스트를 실행하고) 5개를 더 추가하세요.

더 긴 미로를 위한 전략

미로가 커짐에 따라 간단한 단계별 구성은 실용적이지 않게 됩니다. 체계적인 전술이 필요합니다.

웨이포인트 방법. 미로를 중간 목표(시작과 최종 목표 사이의 출입구 또는 복도 교차로)로 나눕니다. 첫 번째 웨이포인트에 도달하기 위한 하위 프로그램을 구축하고 정신적으로 검증합니다. 그런 다음 다음 세그먼트를 추가합니다. 복잡한 경로를 소화 가능한 조각으로 나누면 어떤 세그먼트가 실패했는지 정확히 알 수 있으므로 충돌이 발생할 때 디버깅이 훨씬 쉬워집니다.

회전을 최소화하세요. 회전은 무료가 아닙니다. 단계를 소모하고 정신적인 오버헤드를 추가합니다. 가능하다면 옆쪽 복도로 방향을 틀었다가 즉시 후퇴하는 대신 앞으로 곧장 이동하십시오. 일부 미로는 구불구불한 경로를 보상하지만 대부분은 전진 추진력을 유지하는 경로에서 이점을 얻습니다. 다양한 경로를 실험해보고 첫 번째 시도에서 회전 수가 가장 적은 경로를 선택하세요.

단계가 적다는 것은 실수할 가능성이 적다는 것을 의미합니다. 두 가지 경로가 목표에 도달하고 한 경로는 12단계를 사용하고 다른 경로는 18단계를 사용하는 경우, 더 짧은 프로그램이 거의 항상 더 나은 첫 번째 시도입니다. 단계가 적다는 것은 정신 시뮬레이션이 짧아지고 문제가 발생할 경우 디버깅이 쉬워진다는 것을 의미합니다.

무엇이든 만들기 전에 새로운 미로 레이아웃을 연구하세요. 미로가 더 높은 레벨로 확장되면 버튼 하나를 누르기 전에 가장 넓은 복도와 가장 직접적인 경로를 식별하는 데 10초를 투자하세요. 시각적으로 가장 길게 보이는 경로는 프로그램이 따라야 하는 경로가 아닌 경우가 많습니다.

충돌 후 디버깅

로봇이 충돌하면 지우기를 누르고 다시 시작하고 싶은 충동을 참으십시오. 대신, 프로그램을 단계별로 읽고 충돌 지점을 식별하십시오.

로봇이 멈춘 위치와 충격 시 어느 방향을 바라보고 있는지 살펴보세요. 프로그램을 거꾸로 추적해 보세요. 어떤 단계가 이 위치로 이어졌나요? 일어나지 말았어야 할 전진이었을까? 다음 단계에서 로봇을 벽으로 향하게 하는 회전이요?

문제가 있는 단계를 식별한 후에는 실행 취소를 사용하여 해당 단계와 그 뒤에 추가된 모든 단계를 제거한 다음 올바른 지침을 삽입하세요. 이 목표 수정은 전체 프로그램을 다시 작성하는 것보다 훨씬 빠르며 깔끔하게 시작하는 것보다 공간 계획에 대해 더 많은 것을 가르쳐줍니다.

같은 지점에서 두 번 충돌한다는 것은 정신 모델이 거기에서 잘못되었음을 의미합니다. 로봇이 다른 프로그램을 사용하여 같은 벽에 두 번 부딪히면 해당 지점의 미로 레이아웃에 대해 잘못된 가정을 하는 것입니다. 계속하기 전에 최소 테스트 프로그램(2~3단계만)을 실행하여 실제 복도 모양을 확인하십시오.

단일 단계 전진. 복잡한 섹션에서 막히면 한 번에 정확히 하나의 앞으로 단계를 추가하고 각 추가 후에 실행을 누르세요. 이것은 느리지만 완벽합니다. 또한 정신적 실행 능력을 직접 훈련합니다. 로봇이 실제로 수행하는 작업과 예측이 어떻게 다른지 정확히 알 수 있으며, 이는 공간 추론을 개선하기 위한 가장 빠른 피드백 루프입니다.

Robot ProgrammerOpen game
Loading…

연습 루틴

처음 몇 세션: 연속 길이에 대해 걱정하지 마세요. 실행을 누르기 전에 각 레벨을 완료하고 프로그램을 정신적으로 실행하는 습관을 기르는 데 집중하세요. 모든 충돌을 실패가 아닌 디버깅 교훈으로 여기십시오.

정신적 시뮬레이션이 자연스러워지면: 이전 시도보다 더 적은 단계로 각 레벨을 완료하도록 도전해 보세요. 이는 단순히 작동하는 경로를 찾는 것보다 경로 효율성과 미로 형상에 대해 더 신중하게 생각하게 만듭니다.

더 큰 미로가 있는 더 높은 레벨: 세션당 충돌 제로라는 개인적인 목표를 설정하세요. 이는 게임을 추측하고 확인하는 연습에서 진정한 공간 추론 테스트로 전환합니다. 속도보다 정확성을 우선시하면 자연스럽게 줄무늬가 늘어나는 것을 발견하게 될 것입니다.

숙달 이정표. 첫 번째 또는 두 번째 시도에서 새로운 레벨을 풀고 로봇의 경로를 자신있게 예측하고 실행하기 전에 정신 시뮬레이션에서 오류를 포착할 때만 프로그램을 조정할 수 있으면 로봇 프로그래머를 진정으로 마스터한 것입니다.

로봇 프로그래머는 인내심, 시각화 연습 및 체계적인 사고를 보상합니다. 레벨을 완료할 때마다 순차적으로 계획하고 공간적으로 추론하는 능력이 강화됩니다. 계속 플레이하고, 정신 시뮬레이션을 신뢰하고, 점점 복잡해지는 복잡성에 두뇌가 적응하는 것을 지켜보세요.

Can you plan every move before the robot runs?

유튜브의 새 게임 영상 게임마다 짧은 영상을 만듭니다. 구독하고 새 영상을 보세요.

확인