Molto tempo fa, quando passavo più tempo a giocare a giochi di ruolo, uno dei problemi che alcuni giocatori avevano, era tenere traccia dei movimenti del partito e disegnare una mappa adeguata. Quindi vengo con l'idea, per verificare come voi ragazzi venite ad affrontare questo problema.
Compito è scrivere una funzione, che accetta come elenco di parametri di input delle direzioni (passate come struttura a scelta) ^v<>, visualizzare la mappa del dungeon. Nell'esempio per input: >>>vvv<<<^^^output sarà:
+----+ +----+
| | |>>>v|
| ++ | |^++v|
| ++ | because |^++v|
| | |^<<<|
+----+ +----+
Casi test
>>>>>>vvvvv<<<<^^^>>v
+-------+
| |
+-+---+ |
| | |
| + | |
| +-+ |
| |
+-----+
^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^
+-+
+-+| | +-++-+
| || | | ++ ++
| ++ +-+ |
| +-+ |
+--+ +-+ +-+-+
| | | |
+-+ +---+
Dato che si tratta della sfida del codice golf, vince il codice più corto.
Buon golf.
EDIT Ci scusiamo per la modifica tardiva, non ho avuto molto tempo di recente.
La mappa viene generata in base al movimento. Dovrebbe contenere solo corridoi visitati durante la passeggiata. Quindi creare una grande stanza non sarà una risposta valida.
Esistono tre simboli validi nella mappa:
|parete verticale|parete orizzontale+intersezione di parete verticale e orizzontale.
La lunghezza massima del percorso è di 255 caratteri (ma se puoi, non limitarti).
Altri casi di test:
><><><><
+--+
| |
+--+
>^<v
+--+
| |
| |
+--+
Spero che ora sia tutto chiaro.
vvv>>^^^<<che produrrebbe (incroci? Tubi?)