Turtlèd , 135 129 byte (tidak bersaing)
(penafsir tidak benar-benar sedikit disadap (lagi:]) , tetapi tidak mempengaruhi program ini )
Dengan merestrukturisasi dan menulis ulang program saya, saya bermain golf ... enam byte
Dan sekarang saya harus membuat penjelasan baru ...
Namun, masih bisa menjadi prob yang lebih pendek
Setidaknya solusi terbaik dalam lang ini bukan hanya menulis dalam data mentah ¯ \ _ (ツ) _ / ¯
#3.141592653589793238462643383279502884197169#")()()()()()">10:[)'|l]:[)d'\l]d"(||"2uuu[|;"::"uuu];>"__"[|r'\d]dl[ l[|.+l][\r]ul]
Cobalah online
Penjelasan
Jujur, ini tidak menggambarkan program yang sebenarnya dengan sangat baik, tetapi itu memberikan petunjuk tentang perintah, sehingga Anda mungkin mengerti sedikit lebih baik
#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
HAL KOMPLEKS: LOOP TERPUNGGUNG
[ l[|.+l][\r]ul]
Sementara sel saat ini bukan spasi {bergerak ke kiri, jalankan loop: (Sementara sel tidak |, tulis variabel char dari string saat ini (ingat pi itu?), Kenaikan pointer string, pindah ke kiri), jalankan loop: (sedangkan sel tidak \, pindah ke kanan), pindah ke atas, ke kiri}