내 로봇이 어떻게 든 단락되었고 실험실 어딘가에서 무작위로 도망 쳤습니다!
운 좋게도이 작업을 수행 할 때마다 종료 시퀀스가 시작되어 전원을 끄기 전에 5 라운드 동안 무작위로 향한 방향으로 회전하고 실행할 수있는 충분한 시간을줍니다. 그의 자이로 및 가속도계 기능은 여전히 켜져있는 동안 데이터를 실험실로 다시 전달합니다.
예를 들어, 데이터는 항상 두 숫자의 다섯 세트의 형태로 제공됩니다.
12:234,-135:47,-68:230,140:324,127,87
당신의 임무는, 골프를 치는 로봇의 광란 실행을 시뮬레이션의 형태로 숫자 5 개 세트를 표시하여 순서를 설정)을하는 것입니다 a1:d1,a2:d2,a3:d3,a4:d4,a5:d5
곳 a
)을 시계 방향으로 각도가 각도 (IS) (N하도록 -179<=a<=+180
(로봇이 현재의 제목에서 설정됩니다 처음에는 d
방향이 바뀔 때까지 0으로 향하고 처음으로 돌아갑니다.) (n) 다음 방향으로 변경하기 전에 발이 닿는 거리 (피트)입니다 0<=d<=500
. b) 실험실에서 계산 된 제목 (제로 제목을 향함), 피트 거리 (소수점 3 자리까지의 정확성을 강력히 권장 함, 권장하는 경우 -5 바이트) 및 방향 제목 (도) 로봇이 꺼 졌을 때 로봇이 향하는 위치.
쉬운 예 :
Data: 0:1,45:1,90:1,90:1,90:1
Heading: 0
Distance: 1
Orientation: -45
무작위 회전과 거리는 그저 무작위입니다. 설정된 값을 하드 코딩해서는 안됩니다. 코드 내에서 임의의 동작이 작동해야합니다.
임의성 제한 : 시계 또는 날짜 기반 참조가 없으므로 random
코드 내에서 기본 참조 가 필요 합니다. 이 코드를 실행할 때마다 임의성이 각 회전 라운드마다 360도 가능한 회전 각도 중 하나를 표시 할 수 있어야합니다. 따라서 로봇은 한 턴에 -36도 회전하고 다음 턴에 +157도 회전 한 다음 -2 도의 또 다른 회전 -116도, 마지막 턴에 +42 도의 마지막 회전을 수행 할 수 있습니다. 각 임의의 각도 생성에 대해 최소 360 개의 고유 한 값이 가능해야합니다 (-179 ~ +180도 사이).
거리 주행 제한 : 비슷하게 설정하면 로봇이 실행할 수있는 거리는 501 개 (0 ~ 500 피트 포함)이므로 로봇의 주행 거리를 결정할 때 임의성을 사용할 수있을 것으로 기대합니다. 로봇은 이론적으로 각각의 라운드에서 45, 117, 364, 27 및 6 피트를 실행할 수 있습니다 ...
당신에게 공급되는 데이터는 항상 정수 값이 될 것입니다 ... 로봇은 정수 범위의 각도로 회전하고 정수 범위의 거리에서 실행됩니다. 그러나 출력 값은 수레가됩니다 ...
이것은 코드 골프입니다. 가장 짧은 코드가 승리합니다 ... 이제 로봇을 찾으십시오!
추신 : 내 "소수점 3 자리까지의 정확도"와 관련하여 제목 (소수점, 소수점 이하 3 자리)과 피트 거리 (최소 소수점 3 자리까지도)를 제공 할 수 있다면 -5 바이트 보너스를 얻습니다).
-180 < a <= +180
로 사용할 수<
없었습니다 ...