Data una stringa di arte ASCII come tale (Questa non è arte ASCII ma lo farà per l'esempio):
abc
d e
fgh
Mischialo come se fosse visualizzato su uno schermo con un carattere per riga, in questo modo:
a
b
c
d
e
f
g
h
Stampa il risultato, attendi un secondo, ± 0,5 secondi prima di cancellare il terminale e stampa la stessa cosa, ma con 2 caratteri visualizzati per riga anziché 1. In pratica, la larghezza del display passa da 1 a 2.
ab
c
d
e
fg
h
Nota lo spazio dopo il d. Ripetere l'attesa, quindi stampare con un carattere aggiuntivo per riga fino a quando non viene emesso il testo immesso.
Se si tocca la fine di una riga quando si tenta di stampare caratteri, si inserisce una nuova riga e si stampa il resto di loro seguendo questa regola. Ad esempio l'input:
abcdefg
ab
Stampa quanto segue quando la lunghezza del display è 4.
abcd
efg
ab
Puoi trovare l'effetto del ridimensionamento del terminale qui: https://repl.it/GoeU/1 . Esegui il programma, quindi trascina avanti e indietro l'elemento che separa il terminale dall'editor di testo.
Una precisazione:
Una volta che una linea appare esattamente come è stata immessa, puoi lasciarla sola per conteggi di caratteri futuri più grandi per linea.
abc
ab
dovrebbe stampare
ab
c
ab
quando la lunghezza della frase = 2.
Questo è code-golf , quindi vince la quantità minima di byte!
Regole:
- È necessario stampare su STDOUT come unico output.
- Deve cancellare il terminale o creare l'illusione di cancellare il terminale aggiungendo circa 150 righe vuote.
- Può ricevere input attraverso i metodi standard.
- Si applicano scappatoie predefinite.
- Trascinare roba con il testo NON È OK.
Questa idea mi è venuta in mente quando stavo ridimensionando un terminale con arte ASCII su di esso. Sembrava interessante, quindi ho deciso di farne una sfida.
Casi test:
Dal momento che sarebbe troppo lavoro per mostrare ogni passaggio per ogni singolo test, esaminerò ogni risposta per assicurarmi che sia valido. Assicurati che la risposta sia in grado di gestire i casi di test.
______ ______ __ __ __ ______ __ __ ______
/\ == \ /\ == \ /\ \ /\ "-.\ \ /\__ _\ /\ "-./ \ /\ ___\
\ \ _-/ \ \ __< \ \ \ \ \ \-. \ \/_/\ \/ \ \ \-./\ \ \ \ __\
\ \_\ \ \_\ \_\ \ \_\ \ \_\\"\_\ \ \_\ \ \_\ \ \_\ \ \_____\
\/_/ \/_/ /_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_____/
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__