nhìn! Đó là một mê cung ASCII! Soo coolzors, amazeballs và công cụ.
+-+-----+---+
| | | |
| | ++ | |
| | ++ +-+ |
| | |
+-------+ | |
| | |
+---------+-+
Nhưng, nhưng, nhưng ... thật đau đớn khi tìm ra hướng nào của tất cả các phần của mê cung đang diễn ra. Tôi chỉ muốn vẽ bố cục và mê cung làm cho nó trở nên thật tuyệt vời mà không mất nhiều thời gian.
Điều gì sẽ xảy ra nếu tôi có thể vẽ nó trong ...
#############
# # # #
# # ## # #
# # ## ### #
# # #
######### # #
# # #
#############
Điều đó thật ngọt ngào!
Các quy tắc (Vì quy tắc là nguội):
- Viết mã để chuyển đổi một chuỗi thành mê cung ascii và xuất kết quả.
- Bất kỳ ký tự không phải khoảng trắng sẽ được đọc như một bức tường.
- Mỗi char tường sẽ quyết định nhân vật nào dựa trên các hàng xóm của nó (chỉ theo các hướng Bắc, Nam, Đông và Tây).
- Nếu một char không có hàng xóm không có khoảng trắng, nó sẽ là dấu cộng (+).
- Nếu một char có hàng xóm theo cả hai chiều dọc (Bắc-Nam) và ngang (Đông-Tây), đó sẽ là một dấu cộng (+).
- Nếu một char chỉ có hàng xóm theo hướng dọc (Bắc-Nam), nó sẽ là ký hiệu ống (|).
- Nếu một char chỉ có hàng xóm theo hướng ngang (Đông-Tây), đó sẽ là dấu trừ (-).
- Đầu vào có thể là một chuỗi đơn (với các dòng được phân tách bằng các ký tự dòng mới hoặc một chuỗi các chuỗi).
- Tất cả các ký tự đầu vào sẽ là các ký tự ASCII có thể in được, bạn không cần phải xử lý các bộ ký tự mở rộng.
- Sử dụng bất kỳ ngôn ngữ cũ nào bạn muốn.
- Nếu có khoảng trắng trước một dòng, nó sẽ là cùng một lượng trên mỗi dòng. Bất kỳ khoảng trắng sau mỗi dòng đầu ra là tốt.
- Cố gắng giải quyết nó với số byte nhỏ nhất.
Các trường hợp thử nghiệm:
1: Khung
Đầu vào:
##########
# #
# #
# #
##########
Đầu ra:
+--------+
| |
| |
| |
+--------+
2: Mê cung cổ điển
Đầu vào:
#################
# #
# ##### # ##### #
# # # # # #
# # # # ##### # #
# # # # #
### # ####### # #
# # # # # #
# ### # ## # ##
# # ## #
#################
Đầu ra:
--------+-------+
| |
| --+-+ | ----+ |
| | | | | |
| + | | +---- | |
| | | | |
+-- | +----+- | |
| | | | | |
| --+ | ++ | -+
| | ++ |
+-----+-++----+--
3: Trứng xanh, người đàn ông.
Đầu vào:
I do not like green eggs and ham.
I do not like them, sam I am.
Would you like them here or there?
I would not like them anywhere!
Đầu ra:
| ++ +++ ++++ +++++ +++- -++ ----
| ++ +++ ++++ +++++ +++ + +++
+-+++ +++ ++++ ++++ ++++ ++ +++---
| +++-+ +++ ++++ ++-+ +++++++++
4: Đá
Đầu vào:
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
Đầu ra:
++++ ++++++-
++++ ++++++
++++ +++++
+++ +++++
+++ ++++
+++ | ++
++ | ++
++ | |
++ |
++
|
-
s nào hoặc tại sao mê cung cổ điển không có bốn +
s ở hàng dưới cùng.
smallest number of characters
, không phải byte?
+
ở giữa hàng 1 2) các !
Icicles nên được thay thế bằng a -
. Bạn có thể vui lòng kiểm tra lại những cái này không?
whitespace
, bạn chỉ có nghĩa là không gian? Tôi không muốn phải hỗ trợ các tab và có lẽ bạn cũng không muốn tôi chuyển đổi dòng mới
---
?