05AB1E , 162 159 157 byte
Codice
Dannazione, troppo a lungo, ma è almeno qualcosa:
">:U"VI3Qið16×7166b1ð:0Y:DUJ,Yð13×JD?X,3838b1ð:0Y:D?X,16255b1ð:0Y:D?X,16367b1ð:0Y:4F?X,}ð21×Y3×J,}¹2Qið4×" U U"©J,"> :"®JD," > "?®,,ð6×'U3×J,}¹iY,}"quack
Provalo online!
Spiegazione
Esiste la prima parte del codice ">:U"V, che imposta Yquella stringa. Dopodiché, controlliamo solo se l'input è uguale a 3. Ciò viene fatto nella I3Qiparte. Se uguale, stampiamo la gazza gigante:
N = 3
Si inizia con il ð16×quale spinge solo 16 caratteri spaziali. Dopo quello, c'è un numero 7166b. Questo copre la ">:U "parte, con un piccolo aiuto da Retina :). Ho usato questo script per convertire la stringa in un numero binario. Dopodiché, arriviamo alla 1ð:0Y:parte, che sostituisce ognuna 1con un carattere spazio e ogni 0con Ycui è stato impostato >:U. Successivamente, eseguiamo l' Duplicing di questa stringa, la memorizziamo Xusando Ue Jnello stack. Lo pop usando ,, che stampa l'intera stringa con una nuova riga. Tutti gli altri dopo si basano tutti sullo stesso principio. L'istruzione if termina al secondo }.
La conversione completa è disponibile qui .
N = 2
Ora controlliamo se l'ingresso è uguale a 2. Questo viene fatto nella ¹2Qiparte. Dopodiché, se uguale, spingiamo il carattere spaziale 4 volte usando ð4×. Dopodiché, spingiamo la " U U"stringa e la memorizziamo usando ©(idea palesemente rubata da Jelly: p). Di nuovo Jnella pila e stampiamo questo con una nuova riga. Dopodiché, spingiamo la "> :"stringa, recuperiamo l' " U U"utilizzo ®, Jnella pila e Dupliciamo questa stringa e stampiamo entrambi sulla stessa riga.
Breve quiz, che cosa sarà mai questo fare: " > "?®,?
Dopo aver stampato la stringa sopra, otteniamo il duplicato della seconda riga della faccia e la stampiamo (poiché è la stessa della seconda riga).
L'ultima parte coperta da questo caso è:
ð6×'U3×J,
ð6× # Push the space character × 6
'U3× # Push the "U" character three times
J, # Join and print pop with a newline
N = 1
Questo è più facile da spiegare:
¹1QiY
¹1Qi # Check if the input is equal to 1
Y # Push the magpie face
# This is then implicitly printed
N = 0
¹0Qi"quack
¹0Qi # Check if the input is equal to 0
"quack # Weird sound what magpies make
# Implicitly printed