Từ lâu, khi tôi dành nhiều thời gian chơi RPG, một trong những vấn đề mà một số người chơi gặp phải, là theo dõi chuyển động của nhóm và vẽ bản đồ phù hợp. Vì vậy, tôi có ý tưởng, để kiểm tra xem các bạn đã giải quyết vấn đề này như thế nào.
Nhiệm vụ là viết một hàm, lấy danh sách tham số đầu vào của các hướng (được truyền dưới dạng cấu trúc bạn chọn) ^v<>, hiển thị bản đồ của ngục tối. Trong ví dụ cho đầu vào: >>>vvv<<<^^^đầu ra sẽ là:
+----+ +----+
| | |>>>v|
| ++ | |^++v|
| ++ | because |^++v|
| | |^<<<|
+----+ +----+
Tủ thử
>>>>>>vvvvv<<<<^^^>>v
+-------+
| |
+-+---+ |
| | |
| + | |
| +-+ |
| |
+-----+
^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^
+-+
+-+| | +-++-+
| || | | ++ ++
| ++ +-+ |
| +-+ |
+--+ +-+ +-+-+
| | | |
+-+ +---+
Vì đây là thử thách mã golf, mã ngắn nhất sẽ thắng.
Chúc bạn chơi golf vui vẻ.
EDIT Xin lỗi vì chỉnh sửa muộn, gần đây tôi không có nhiều thời gian.
Bản đồ được tạo ra dựa trên sự di chuyển. Nó chỉ nên chứa hành lang đã được truy cập trong khi đi bộ. Do đó tạo ra một phòng lớn sẽ không phải là một câu trả lời hợp lệ.
Có ba biểu tượng hợp lệ trên bản đồ:
|tường dọc|tường ngang+giao nhau của tường dọc và ngang.
Độ dài tối đa của đường dẫn là 255 ký tự (nhưng nếu bạn có thể, đừng tự giới hạn).
Nhiều trường hợp thử nghiệm:
><><><><
+--+
| |
+--+
>^<v
+--+
| |
| |
+--+
Tôi hy vọng bây giờ mọi thứ đã rõ ràng.
vvv>>^^^<<nào sẽ tạo ra (đường ống? Đường ống?)