Dawno, dawno temu, kiedy spędzałem więcej czasu grając w RPG, jednym z problemów, jakie mieli niektórzy gracze, było śledzenie ruchu drużyny i narysowanie odpowiedniej mapy. Wpadłem na pomysł, żeby sprawdzić, jak sobie radzicie z tym problemem.
Zadanie polega na napisaniu funkcji, która jako listę parametrów wejściowych przyjmuje kierunki (przekazane jako wybrana przez Ciebie struktura) ^v<>, wyświetla mapę lochu. Na przykład dla danych wejściowych: >>>vvv<<<^^^wyjście będzie:
+----+ +----+
| | |>>>v|
| ++ | |^++v|
| ++ | because |^++v|
| | |^<<<|
+----+ +----+
Przypadki testowe
>>>>>>vvvvv<<<<^^^>>v
+-------+
| |
+-+---+ |
| | |
| + | |
| +-+ |
| |
+-----+
^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^
+-+
+-+| | +-++-+
| || | | ++ ++
| ++ +-+ |
| +-+ |
+--+ +-+ +-+-+
| | | |
+-+ +---+
Ponieważ jest to wyzwanie dla kodu golfowego, wygrywa najkrótszy kod.
Wesołego golfa.
EDYCJA Przepraszam za późną edycję, ostatnio nie miałem dużo czasu.
Mapa jest generowana na podstawie ruchu. Powinien zawierać tylko korytarze, które odwiedzono podczas spaceru. Dlatego utworzenie jednego dużego pokoju nie będzie prawidłową odpowiedzią.
Na mapie znajdują się trzy prawidłowe symbole:
|pionowa ściana|ściana pozioma+przecięcie ściany pionowej i poziomej.
Maksymalna długość ścieżki wynosi 255 znaków (ale jeśli możesz, nie ograniczaj się).
Więcej przypadków testowych:
><><><><
+--+
| |
+--+
>^<v
+--+
| |
| |
+--+
Mam nadzieję, że teraz wszystko jest jasne.
vvv>>^^^<<będzie produkować (krzyże rur?)