Piet, 188 53 46 41 bayt
5bpjhbttttfttatraaearfjearoaearbcatsdcclq
Çevrimiçi tercüman burada mevcut.
Yerleşik (n>0)-(n<0)
işareti denetleme işareti bulunmadığından bu piet kodu standarttır . Aslında, yerleşikten daha az bir şey yoktur, bu nedenle bu yöntemin daha doğru bir açıklaması olacaktır (n>0)-(0>n)
.
Yukarıdaki metin görüntüyü gösterir. Resmi, yorumlayıcı sayfasındaki metin kutusuna yapıştırarak oluşturabilirsiniz. Kolaylık sağlamak için codel boyutunun 31 piksel olduğu aşağıdaki resmi verdim. Izgara okunabilirlik için orada ve programın bir parçası değil. Ayrıca, bu programın herhangi bir beyaz kodeli geçmediğini unutmayın; programın akışını takip etmek için görüntünün kenarındaki renkli kodelleri takip edin.
açıklama
Instruction Δ Hue Δ Lightness Stack
------------ ----- ----------- --------------------
In (Number) 4 2 n
Duplicate 4 0 n, n
Push [1] 0 1 1, n, n
Duplicate 4 0 1, 1, in, in
Subtract 1 1 0, in, in
Duplicate 4 0 0, 0, in, in
Push [4] 0 1 4, 0, 0, in, in
Push [1] 0 1 1, 4, 0, 0, in, in
Roll 4 1 0, in, in, 0
Greater 3 0 greater, in, 0
Push [3] 0 1 3, greater, in, 0
Push [1] 0 1 1, 3, greater, in, 0
Roll 4 1 in, 0, greater
Greater 3 0 less, greater
Subtract 1 1 sign
Out (Number) 5 1 [Empty]
[Exit] [N/A] [N/A] [Empty]
Dosya boyutunu daha da azaltmak için, yaptığım gibi dosyayı sıkıştırmak yerine programı (gasp) değiştirmem gerekiyor . Bu golfü 36 dereceye indirecek bir satırı kaldırmak istiyorum. Ayrıca daha küçük bir giriş formatına sahip olan kendi tercümanımı da geliştirebilirim, çünkü kodu küçültmek için kodun değiştirilmesi aslında kodun ne olduğu ile ilgili değildir.
Mods, genel dosya boyutunun Piet kodu için önemli olduğunu söyledi. Tercüman metni geçerli girdi olarak kabul ettiğinden ve ham metnin herhangi bir görüntüden daha küçük bayt sayısına sahip olması nedeniyle, metin açık bir seçenektir. Bu konuda arsız olduğum için özür dilerim ama kuralları koymuyorum. Bununla ilgili meta tartışma, konu hakkındaki görüşlerimi açıkça ortaya koyuyor.
Bunun Piet'in ruhuna aykırı olduğunu düşünüyorsanız veya herhangi bir nedenle bunu daha fazla tartışmak istiyorsanız, lütfen meta üzerindeki tartışmayı inceleyin .