Piet, 188 53 46 41 byte
5bpjhbttttfttatraaearfjearoaearbcatsdcclq
Interprete online disponibile qui.
Questo codice piet è lo standard (n>0)-(n<0)
, in quanto non è presente alcun segno di controllo incorporato. In realtà, non c'è niente di meno che incorporato, quindi sarebbe una descrizione più accurata di questo metodo (n>0)-(0>n)
.
Il testo sopra rappresenta l'immagine. È possibile generare l'immagine incollandola nella casella di testo nella pagina dell'interprete. Per comodità, ho fornito l'immagine qui sotto in cui la dimensione del codice è di 31 pixel. La griglia è lì per la leggibilità e non fa parte del programma. Si noti inoltre che questo programma non attraversa alcun codice bianco; seguire i codici colorati attorno al bordo dell'immagine per seguire il flusso del programma.
Spiegazione
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]
Per ridurre ulteriormente le dimensioni del file, avrei bisogno di cambiare il programma (gasp) invece di comprimere il file come ho fatto. Vorrei rimuovere una riga che porterebbe a golf fino a 36. Potrei anche sviluppare il mio interprete che avrebbe un formato di input molto più piccolo, dato che cambiare il codice per renderlo più piccolo non è ciò di cui si occupa il golf.
Le mod mi hanno detto che la dimensione complessiva del file è ciò che conta per il codice Piet. Poiché l'interprete accetta il testo come input valido e il testo non elaborato ha un numero di byte molto inferiore rispetto a qualsiasi immagine, il testo è la scelta più ovvia. Mi scuso per essere sfacciato su questo, ma non faccio le regole. La meta discussione su questo chiarisce le mie opinioni in merito.
Se ritieni che ciò vada contro lo spirito di Piet o desideri discuterne ulteriormente per qualsiasi motivo, consulta la discussione su meta .