Un albero H è una struttura ad albero frattale che inizia con una linea. In ogni iterazione, i rami T vengono aggiunti a tutti gli endpoint. In questa sfida, devi creare una rappresentazione ASCII di ogni secondo livello dell'albero H.
Il primo livello contiene semplicemente tre trattini-meno:
---
I livelli successivi sono costruiti in modo ricorsivo:
- Crea una matrice 2x2 di copie dal livello precedente, separata da tre spazi o linee.
- Collegare i centri delle copie con le linee d'arte ASCII sotto forma di H. Utilizzare
-
per linee orizzontali,|
verticali e+
ogni volta che le linee si incontrano.
Secondo livello
-+- -+-
| |
+-----+
| |
-+- -+-
Terzo livello
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
Regole
- Input è un numero intero che rappresenta il livello dell'albero H dell'arte ASCII come descritto sopra ( non l'attuale livello dell'albero H), indicizzato con zero o uno.
- L'output è flessibile. Ad esempio, è possibile stampare il risultato o restituire una stringa separata da nuova riga, un elenco di stringhe per ogni riga o un array di caratteri 2D.
- È necessario utilizzare
-
,|
,+
e caratteri di spazio. - Sono consentiti spazio finale e fino a tre righe spazio vuoto finali.
Questo è il codice golf. Vince la risposta più breve in byte.