nota: l'arte della stringa potrebbe sembrare orribile qui a causa della stranezza del carattere SE: P :(
Dato un elenco di quattro tuple che rappresentano gli angoli dei rettangoli, disegna rettangoli traslucidi l'uno sull'altro in quell'ordine.
Per questa sfida, è necessario avere la coordinata più piccola nell'angolo in alto a sinistra e l'asse x in aumento a destra e l'asse y in aumento verso il basso.
Una quadrupla (x0, y0, x1, y1)o (x0, x1, y0, y1)rappresenta le (x, y)coppie di coordinate degli angoli in alto a sinistra e in basso a destra di un rettangolo (puoi scegliere uno dei due formati per i rettangoli ma deve essere coerente)
Cosa intendo per "rettangolo traslucido"? Bene, per questa sfida, utilizzerai il personaggio spaziale e la maggior parte dei personaggi del disegno a scatola ; in particolare, tutti quelli utilizzati per disegnare rettangoli, compresi i caratteri "in grassetto". Quando viene disegnato un rettangolo traslucido, prima scompaiono tutte le linee sottili nello spazio occupato e tutte le linee in grassetto diventano sottili, quindi il rettangolo stesso viene tracciato in linee in grassetto.
Ad esempio, se disegni un rettangolo in alto a sinistra e poi in basso a destra, potrebbe assomigliare a questo:
┏━━━━┓
┃ ┃
┃ ┃
┃ ┏━━╇━━┓
┃ ┃ │ ┃
┗━╉──┘ ┃
┃ ┃
┃ ┃
┗━━━━━┛
Per essere chiari, le linee vengono schiarite (grassetto -> sottile -> nessuna) per tutte le linee rigorosamente all'interno del rettangolo (ad esempio, le linee rivolte verso il basso sono interessate dal bordo superiore ma non dal bordo inferiore).
Casi test
Verrà fornito un numero di righe di input, seguito da unicode-art, per ciascun caso di test.
0 0 5 5
5 5 10 10
3 3 7 7
2 2 8 8
┏━━━━┓
┃ ┃
┃ ┏━━╇━━┓
┃ ┃┌─┴─┐┃
┃ ┃│ │┃
┗━╉┤ ├╊━┓
┃│ │┃ ┃
┃└─┬─┘┃ ┃
┗━━╈━━┛ ┃
┃ ┃
┗━━━━┛
14 5 15 9
13 2 15 16
6 4 15 11
┏━┓
┃ ┃
┏━━━━━━╇━┫
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┃ │ ┃
┗━━━━━━╈━┫
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┗━┛
6 8 10 11
15 12 16 16
14 10 16 16
9 1 15 15
┏━━━━━┓
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┃ ┃
┏━━╉┐ ┃
┃ ┃│ ┃
┃ ┃│ ┌╊┓
┗━━╉┘ │┃┃
┃ │┠┨
┃ │┃┃
┃ │┃┃
┗━━━━╈┩┃
┗┷┛
Regole
- L'input può essere in qualsiasi formato ragionevole per un elenco di quattro tuple. Ingresso può essere uno indicizzato o zero indicizzati lungo uno degli assi (cioè l'angolo superiore sinistro può essere qualsiasi
(0, 0),(0, 1),(1, 0),(1, 1). - L'output deve essere unicode-art come descritto. L'output potrebbe non avere newline iniziali e al massimo una newline finale (dopo l'ultima riga). Gli spazi vuoti finali verranno ignorati ai fini di questa sfida.
Code-punti
I tubi orizzontali e verticali audaci e leggeri sono nella gamma [U+2500, U+2503]. I vari tubi angolari sono nella gamma [U+250C, U+251C). I tubi a tre bracci sono nella gamma [U+251C, U+253C). I tubi a quattro bracci sono nella gamma [U+253C, U+254C). Le rimanenti pipe che si possono trovare nel mio programma non vengono mai effettivamente utilizzate.
Typically this uses only 95 printable (from a total of 128) characters defined by the ASCII Standard from 1963.