Turtlèd , 135 129 바이트 (경쟁없는)
(인터프리터는 실제로 약간 버그가 없지만 (더 이상 :]) 이 프로그램에는 영향을 미치지 않습니다. )
프로그램을 재구성하고 재 작성함으로써 나는 6 바이트를 골프를 쳤다
그리고 지금 새로운 설명을해야합니다 ...
그래도 더 짧은 프로브 일 수 있습니다
이 언어에서 가장 좋은 해결책은 원시 데이터를 쓰는 것이 아닙니다. ¯ \ _ (ツ) _ / ¯
#3.141592653589793238462643383279502884197169#")()()()()()">10:[)'|l]:[)d'\l]d"(||"2uuu[|;"::"uuu];>"__"[|r'\d]dl[ l[|.+l][\r]ul]
온라인으로 사용해보십시오
설명
솔직히 이것은 실제 프로그램을 잘 설명하지는 않지만 명령에 대한 힌트를 제공하므로 조금 더 잘 이해할 수 있습니다.
#3.141592653589793238462643383279502884197169# Some pi. Set the string to thing between #s
the last digit was same as first, and the
string wraps, so digit could be removed
")()()()()()" Write this string, by writing char 1 to current cell, moving right, char 2...
> turn right
10 set register to ten
:[)'|l]: move right by amount in register, while current cell isn't ), write |
and move left. move right by amount in register
[)d'\l] while cell is not (, move down, write \, move left
d"(||" move down and string-write "(||"
2 set register to 2
uuu[|;"::"uuu] Move up three, and while the cell is not |, move down by
register (2), string-write "::", move up three
Just remember the turtle is currently pointing right, so up is right.
;>"__" move down by amount in register, turn right, string-write "__"
[|r'\d]dl while cell is not |{ move right, write \, move down}, move down, left
복잡한 것 : 필수 루프
[ l[|.+l][\r]ul]
현재 셀이 공백이 아닌 동안 {왼쪽으로 이동, 루프 실행 :( 셀이 아닌 동안 | 문자열 변수의 현재 문자 쓰기 (pi 기억), 문자열 포인터 증가, 왼쪽으로 이동), 루프 실행 :( 셀이 아닌 \, 오른쪽으로 이동), 위로 이동, 왼쪽}