Turtlèd , 135 129 byte (không cạnh tranh)
(trình thông dịch không thực sự hơi buggèd (nữa:]) , nhưng nó không ảnh hưởng đến chương trình này )
Bằng cách tái cấu trúc và viết lại chương trình của mình, tôi đã đánh gôn ... sáu byte
Và bây giờ tôi phải đưa ra lời giải thích mới ...
Vẫn có thể là probs ngắn hơn mặc dù
Ít nhất là giải pháp tốt nhất trong lang này không chỉ là ghi vào dữ liệu thô \ _ (ツ) _ /
#3.141592653589793238462643383279502884197169#")()()()()()">10:[)'|l]:[)d'\l]d"(||"2uuu[|;"::"uuu];>"__"[|r'\d]dl[ l[|.+l][\r]ul]
Dùng thử trực tuyến
Giải trình
Thành thật mà nói, điều này không mô tả chương trình thực tế rất tốt, nhưng nó đưa ra gợi ý về các lệnh, vì vậy bạn có thể hiểu rõ hơn một chút
#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
Điều linh hoạt: CUỘC ĐỜI
[ l[|.+l][\r]ul]
Trong khi ô hiện tại không phải là không gian {di chuyển sang trái, hãy thực hiện vòng lặp: (Trong khi ô không |, hãy viết char hiện tại của biến chuỗi (hãy nhớ rằng pi?), Con trỏ chuỗi tăng, di chuyển sang trái), thực hiện vòng lặp: (trong khi ô không \, di chuyển sang phải), di chuyển lên, sang trái}