In questo font pixelato di lettere maiuscole dell'alfabeto, tutti i personaggi sono larghi 5 unità e alti 5.
███ ████ ███ ████ █████ █████ ████ █ █ █████ █ █ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ██ ██
█████ ████ █ █ █ ████ ████ █ ██ █████ █ █ ███ █ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ████ ███ ████ █████ █ ████ █ █ █████ ███ █ █ █████ █ █
█ █ ███ ████ ███ ████ ████ █████ █ █ █ █ █ █ █ █ █ █ █████
██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ █ █ █ ████ █ █ ████ ███ █ █ █ █ █ █ █ █ █ █ █
█ ██ █ █ █ █ ██ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █ ███ █ ████ █ █ ████ █ ███ █ █ █ █ █ █ █████
C'è anche 1 unità di spazio tra le lettere e tra le linee, come si può vedere. Quindi ogni lettera può richiedere fino a 6 × 6 unità di spazio.
Supponiamo che invece di utilizzare il carattere di blocco completo ( █) per formare direttamente le forme delle lettere, volessimo usare altre lettere nello stesso carattere . Questo implica aumentare le dimensioni del testo 6 volte in modo che le lettere fatte di blocchi interi possano essere utilizzate come sostituzioni di blocchi completi nel testo più grande.
Se ciò non avesse senso, si spera che questo esempio lo farà. Ecco una A fatta di B usando il carattere pixelato:
████ ████ ████
█ █ █ █ █ █
████ ████ ████
█ █ █ █ █ █
████ ████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
████ ████ ████ ████ ████
█ █ █ █ █ █ █ █ █ █
████ ████ ████ ████ ████
█ █ █ █ █ █ █ █ █ █
████ ████ ████ ████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
████ ████
█ █ █ █
████ ████
█ █ █ █
████ ████
Le B sono fatte di blocchi interi e la A è fatta di B. Notare che le B hanno ancora un'unità tra loro in orizzontale e in verticale.
Possiamo estendere questa idea usando parole anziché solo lettere. Ecco "ACQUA" fatta di "FUOCO":
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █
█████ █████ ████ █████ █████ █████ ████ █████
█ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████
█ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████ █████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████ █
█████ █████ ████ █████ █████ █████ ████ █████ █████
█ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████
█ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █
█████ █████ ████ █████ █████ █████ ████ █████ █████ █████ ████ █████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █
████ █ ████ ████ ████ █ ████ ████ ████ █ ████ ████
█ █ █ █ █ █ █ █ █ █ █ █ █ █ █
█ █████ █ █ █████ █ █████ █ █ █████ █ █████ █ █ █████
Notare come "FUOCO" appare ripetutamente su ogni riga e sempre in ordine, indipendentemente dallo spazio tra le lettere. Tre dei casi più a destra di "FUOCO" sono stati tagliati in anticipo a causa della forma delle lettere di "ACQUA".
Questa idea può essere ulteriormente ampliata, usando queste parole fatte di parole per creare parole fatte di parole fatte di parole , o anche parole fatte di parole fatte di parole fatte di parole . Non ci sono limiti teoricamente.
Un altro esempio metterebbe questo post oltre il limite di 30k caratteri, ma puoi vedere cosa si intende per "parole fatte di parole fatte di parole" eseguendo questo elegante frammento di stack. Lascia i parametri ai valori predefiniti e premi "Vai!". Dovresti vedere la parola "CANE" fatta della parola "CAT" fatta della parola "MOUSE".
La digitazione di un elenco di parole separato da spazi contenente solo lettere maiuscole nella casella di testo produrrà la prima parola fatta della seconda parola fatta della terza, fatta della quarta, fatta di ... ecc.
ATTENZIONE: l'immissione di più di 4 o anche 3 parole produrrà MOLTO testo e impiegherà molto tempo. Potrebbe causare l'arresto anomalo del browser / computer / auto.
Sfida
L'obiettivo di questa sfida è rispecchiare ciò che lo Stack Snippet fa nel minor numero di personaggi.
È necessario scrivere un programma che includa una stringa di parole separata da spazi contenente solo lettere maiuscole e che generi la prima parola "fatta di" la seconda "fatta di" la terza e così via, usando il carattere pixelato sopra indicato.
La casella di controllo "ASCII normale" e le caratteristiche della dimensione del carattere dello snippet non devono essere supportate nel programma. Il mirroring della trasformazione da elenchi di parole a parole fatte di parole è il punto principale e l'unico requisito.
Dettagli
L'input dovrebbe provenire da stdin, dalla riga di comando, oppure potresti semplicemente scrivere una funzione che accetta una stringa.
Puoi supporre che l'input sia sempre valido, cioè una stringa di parole fatta di lettere maiuscole, separate da esattamente uno spazio, senza spazi iniziali o finali.
L'output dovrebbe andare su stdout (o alternativa simile) o su un file con il nome che preferisci.
L'uscita dovrebbe consistere interamente di caratteri vuoto-spazio , caratteri interi spazio e ritorni a capo.
- I caratteri vuoto / spazio intero devono essere rispettivamente spazio e blocco completo (
,█) oppure punto e X (.,X) rispettivamente.
- I caratteri vuoto / spazio intero devono essere rispettivamente spazio e blocco completo (
L'output non deve contenere colonne iniziali contenenti solo caratteri di spazio vuoto , sebbene sia consentita qualsiasi combinazione di caratteri di spazio vuoto finali su qualsiasi riga.
Quindi questo è permesso:
X...X.XXXXX.. X...X.X X.X.X.XXXX.... X.X.X.X.. .X.X..XXXXX..Ma questo non è:
.X...X.XXXXX.. .X...X.X .X.X.X.XXXX.... .X.X.X.X.. ..X.X..XXXXX..
Non ci dovrebbero essere righe iniziali o finali contenenti solo caratteri di spazio vuoto . È consentita una singola riga finale finale.
Ecco una versione più amichevole del carattere:
.XXX.
X...X
XXXXX
X...X
X...X
XXXX.
X...X
XXXX.
X...X
XXXX.
.XXX.
X...X
X....
X...X
.XXX.
XXXX.
X...X
X...X
X...X
XXXX.
XXXXX
X....
XXXX.
X....
XXXXX
XXXXX
X....
XXXX.
X....
X....
.XXXX
X....
X..XX
X...X
.XXXX
X...X
X...X
XXXXX
X...X
X...X
XXXXX
..X..
..X..
..X..
XXXXX
....X
....X
....X
X...X
.XXX.
X...X
X..X.
XXX..
X..X.
X...X
X....
X....
X....
X....
XXXXX
X...X
XX.XX
X.X.X
X...X
X...X
X...X
XX..X
X.X.X
X..XX
X...X
.XXX.
X...X
X...X
X...X
.XXX.
XXXX.
X...X
XXXX.
X....
X....
.XXX.
X...X
X...X
X..XX
.XXXX
XXXX.
X...X
XXXX.
X..X.
X...X
.XXXX
X....
.XXX.
....X
XXXX.
XXXXX
..X..
..X..
..X..
..X..
X...X
X...X
X...X
X...X
.XXX.
X...X
X...X
.X.X.
.X.X.
..X..
X...X
X...X
X.X.X
X.X.X
.X.X.
X...X
.X.X.
..X..
.X.X.
X...X
X...X
.X.X.
..X..
..X..
..X..
XXXXX
...X.
..X..
.X...
XXXXX
punteggio
Questo è code-golf quindi vince l' invio più breve in byte . Qualsiasi istanza di un blocco completo ( █) può essere conteggiata come 1 byte anziché 3, quindi gli invii che utilizzano Xnon hanno alcun vantaggio.
$('#question pre, .answer pre').css('line-height',1)


javascript:Nella barra degli indirizzi e incollandolo) per rendere l'arte ASCII qui molto, molto più facile da leggere:$('#question pre').css('line-height',1). Risultato: i.stack.imgur.com/XmB8C.png