Зимняя распродажа Scream ™ открыта, и вы просто захватили себя интенсивной минималистической игрой в жанре Super Square . Поиграв в нее, вы приходите к осознанию того, что либо игра просто смехотворно сложна, либо вы просто очень плохи в этом. В частности, есть такая «дождевая» модель, которая, кажется, заставляет вас каждый раз ...
Разочаровавшись, вы решаете поставить себе другую задачу: нарисуйте рисунок дождя в искусстве ASCII!
вход
Входные данные - это одно положительное целое число, указывающее размер шаблона n
, заданное через STDIN или аргумент функции.
Выход
Выходные данные - это шаблон дождя в указанном размере, возвращенный в виде строки или напечатанный через STDOUT. Впереди или после пробела до или после всего изображения все в порядке. Кроме того, изображение не обязательно должно находиться на одном уровне слева от экрана, но должно быть четко различимым.
Вот n = 10
:
...................
| ----------------- |
| ............... |
| | ------------- | |
| | ........... | |
| | | --------- | | |
| | | ....... | | |
| | | | ----- | | | |
| | | | ... | | | |
| | | | | - | | | | |
| | | | | | | | | |
| | | | | - | | | | |
| | | | ... | | | |
| | | | ----- | | | |
| | | ....... | | |
| | | --------- | | |
| | ........... | |
| | ------------- | |
| ............... |
| ----------------- |
...................
Вот n = 5
:
---------
.......
| ----- |
| ... |
| | - | |
| | | |
| | - | |
| ... |
| ----- |
.......
---------
И, наконец, вот n = 1
(только две самые внутренние стены):
-
-
Конструкция (для большей ясности)
Игровая зона разделена на две пары квадрантов следующим образом:
AAAAAAAAA
B AAAAAAA B
BB AAAAA BB
BBB AAA BBB
BBBB A BBBB
BBBBB BBBBB
BBBB A BBBB
BBB AAA BBB
BB AAAAA BB
B AAAAAAA B
AAAAAAAAA
Верхний / нижний квадранты должны чередоваться между горизонтальными стенками, представленными дефисами -
, и промежутками, заштрихованными точками .
. Левый / правый квадранты должны чередоваться между пространствами и вертикальными стенами, представленными трубами
|
. Основные диагонали пусты и всегда должны быть заполнены пробелами.
Размер дождевого рисунка n
имеет 2n
стены со стенами из верхнего / нижнего квадрантов, ближайшими к центру, и стены, чередующиеся между квадрантами, когда мы удаляемся от центра.
счет
Это код-гольф, поэтому выигрывает код в наименьшем количестве байтов.