Piet, 188 53 46 41 bajtów
5bpjhbttttfttatraaearfjearoaearbcatsdcclq
Tłumacz online dostępny tutaj.
Ten kod pocztowy działa normalnie (n>0)-(n<0)
, ponieważ nie ma wbudowanego sprawdzania znaków. W rzeczywistości nie ma mniej niż wbudowane, więc dokładniejszy opis tej metody byłby (n>0)-(0>n)
.
Powyższy tekst przedstawia obraz. Możesz wygenerować obraz, wklejając go do pola tekstowego na stronie tłumacza. Dla wygody podałem poniżej obraz, w którym rozmiar kodu wynosi 31 pikseli. Siatka jest dostępna dla czytelności i nie jest częścią programu. Zauważ też, że ten program nie przecina żadnych białych kodów; postępuj zgodnie z kolorowymi kodami wokół obramowania obrazu, aby śledzić przebieg programu.
Wyjaśnienie
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]
Aby jeszcze bardziej zmniejszyć rozmiar pliku, musiałbym zmienić program (wstrzymując oddech) zamiast kompresować plik tak, jak to robiłem. Chciałbym usunąć jeden wiersz, który golfowałby to do 36. Mogę również opracować własny interpreter, który miałby znacznie mniejszy format wejściowy, ponieważ zmiana kodu, aby go zmniejszyć, nie jest tym, czym jest golf.
Mody powiedziały mi, że całkowity rozmiar pliku ma znaczenie dla kodu Piet. Ponieważ interpreter akceptuje tekst jako prawidłowy wpis, a tekst surowy ma znacznie mniejszą liczbę bajtów niż jakikolwiek obraz, tekst jest oczywistym wyborem. Przepraszam za bezczelność, ale nie ustanawiam zasad. Meta dyskusja na ten temat sprawia, że moje opinie w tej sprawie jasne.
Jeśli uważasz, że jest to sprzeczne z duchem Pieta lub chciałbyś omówić to z jakiegokolwiek powodu, sprawdź dyskusję na temat meta .