В сериале 80-х годов Knight Rider был представлен интеллектуальный автомобиль с самосознанием под названием KITT. Одним из отличительных аспектов автомобиля была передняя панель сканера, которая позволяла KITT «видеть» (и это выглядело подозрительно знакомым поклонникам другого, более раннего сериала ).
У сканера было восемь источников света, как видно на этой картинке:
Огни "переместились", как показано на этом анимированном изображении .
Ваша задача, как вы уже догадались, это воссоздать панель сканера с движущимися огнями в искусстве ASCII.
Соревнование
Получив целое число t
, выведите состояние панели сканера в этот момент, определяемое следующим образом:
- Сканер состоит из восьми источников света.
- В любой момент один из источников света активен и отображается как
#
. Огни, которые были активны время от времениt-1
иt-2
теперь потускнели , и показаны как+
; если они не совпадают с текущим активным. Остальные огни выключены и отображаются как-
. - Активный свет перемещается слева направо, затем справа налево.
Точный вывод для каждого t
подробно описан ниже.
0 --> #++----- % The leftmost light is active, and it just came from the right.
% The two neighbouring lights are dimmed
1 --> +#------ % The active light has bounced to the right, and it is covering
% one of the two lights that should be dimmed. So there is only
% one dimmed light
2 --> ++#----- % The active light has moved one more step to the right, and the
% two trailing dimmed lights are visible
3 --> -++#----
7 --> -----++#
8 --> ------#+ % The active light has bounced to the left
9 --> -----#++
10 --> ----#++-
13 --> -#++----
14 --> #++----- % Same as 0
15 --> +#------ % Same as 1
Для отрицательных значений t
цикл просто расширяется:
-1 --> -#++---- % Same as 13
-2 --> --#++--- % Same as 12
Дополнительные правила
Вы можете написать программу или функцию.
Выходные данные могут содержать завершающий пробел и начальный перевод строки.
Самый короткий код в байтах побеждает.