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 Y
quella stringa. Dopodiché, controlliamo solo se l'input è uguale a 3. Ciò viene fatto nella I3Qi
parte. 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 1
con un carattere spazio e ogni 0
con Y
cui è stato impostato >:U
. Successivamente, eseguiamo l' D
uplicing di questa stringa, la memorizziamo X
usando U
e J
nello 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 ¹2Qi
parte. 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 J
nella pila e stampiamo questo con una nuova riga. Dopodiché, spingiamo la "> :"
stringa, recuperiamo l' " U U"
utilizzo ®
, J
nella pila e D
upliciamo 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