멋진 로봇 제어 퍼즐

Sep 28 2020

목표는 그리드를 통해 삼각형 ( "로봇")을 이동하고 별이 표시된 모든 사각형을 방문하게하는 최대 6 개의 명령 시퀀스 ( "프로그램")를 찾는 것입니다.

두 가지 유형의 명령을 사용할 수 있습니다.

  • P0은 시퀀스를 다시 시작합니다.
  • 화살표 (↑, ↱, ↰)는 삼각형을 움직이거나 (앞으로) 방향을 변경합니다 (시계 방향, 시계 반대 방향).

각 명령은 색상을 가질 수 있지만 반드시 그럴 필요는 없습니다. 색상이 지정된 명령은 삼각형이 같은 색상의 사각형에있는 경우에만 실행됩니다.

이사회 밖으로 나가려는 시도는 허용되지 않습니다.

원하는 경우 여기에서 재생할 수 있습니다 (가입 필요 없음). 나는 개발자입니다.

이것들 중 하나를 게시 한 지 오래되었습니다. UI 변경 사항이 마음에 드셨기를 바랍니다. :)

10 월 12 일 편집 : 링크가 일시적으로 다른 퍼즐로 연결됩니다. 곧 고칠 것입니다.

답변

10 Albert.Lang Sep 28 2020 at 22:07

그냥 할 수 없어

앞으로 --- 앞으로 --- 우회전 --- 우회전 --- 분홍색이면 좌회전 --- 다시 시작

?

7 Retudin Sep 28 2020 at 22:26

가난한 로봇은

앞으로 --- 앞으로 --- 우회전 --- 노란색이면 우회전 --- 보라색이면 우회전 --- 다시 시작

4 SwimmerF Sep 29 2020 at 16:52

다른 답변과 약간 다른 접근 방식

[앞으로] [녹색이면 재설정] [왼쪽으로 회전] [분홍색이면 재설정] [왼쪽으로 회전] [재설정]

2 Retudin Sep 28 2020 at 23:11

이제 얼마나 많은 해결책이 있는지 궁금합니다.
목적이 가능한 한 오래 걸리는 경우 : "관광객".

이동, 녹색에서 오른쪽, 왼쪽, 보라색에서 왼쪽, 노란색에서 왼쪽, 다시 시작

1 OmicronZed Sep 28 2020 at 22:48

하나의 시퀀스는 다음과 같습니다.

[Up] [Up] [Turn](Pink) [*] [*] [P0], *같은 방향으로 회전해야합니다. 예를 들어, [Up] [Up] [Left](Pink) [Left] [Left] [P0]작동해야합니다.

첫째, 최소한 다음이 필요하다는 것이 분명해 보입니다.

(선택할 수있는 동작이 6 개 밖에 없기 때문에) 반복을 보장하기위한 끝에 P0이 있고, 십자가에서 '첨탑'이 끝날 때 같은 방향으로 두 번 회전해야 할 때 뒤를 돌아 보는 것도 의미합니다. .

이것은 다음과 같은 내용을 제공합니다.

[-] [-] [-] [Left/Right]* [Left/Right]* [P0], *같은 방향에 있습니다.

하지만 다음과 같은 이유 때문에 분명히 다른 것이 필요합니다.

우리는 '첨탑'에있는 동안 중앙 분홍색 사각형을 향하고 멀어지는 방법이 필요합니다. 우리가 '첨탑'의 끝에서 시작하고 중심을 향하고있는 경우 가장 쉬운 방법은 2만큼 앞으로 이동하는 것입니다 (예 :) [Up] [Up] [-] [-] [-] [-].

그러나 약간의 추가 로직이 필요합니다.

우리는 '첨탑'을 드나들 수있는 방법이 있지만 현재는 '첨탑'을 '선택'할 방법이 없습니다. 그렇게하려면 십자가의 각 '첨탑'으로 회전해야합니다.하지만 중앙 사각형에있을 때만 그렇게해야합니다. 이를 수행하는 한 가지 간단한 방법은 [Left/Right](Pink)앞으로 나아간 후에 갖는 것입니다.

그러나 한 가지 대답은 없습니다.

와 비슷한 패턴이 [Up] [Up] [Turn] [Turn] [Turn] [P0]있는 한, 한 턴은 Pink로, 다른 두 턴은 같은 방향에 있습니다 (즉, Pink 컨디셔닝 된 턴은 다른 두 턴과 같은 방향 일 필요는 없습니다. 회전 순서는 중요하지 않습니다 . 전진 동작 후에 회전이 발생 하는 한 해결 방법이 있습니다.

hkBst Sep 30 2020 at 15:52

이를 수행하는 또 다른 방법은 다음과 같습니다.

[이동] [이동] [턴] [중간 P0] [턴] [P0]