У серіалі 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
Додаткові правила
Ви можете написати програму або функцію.
Вихід може містити пробіли пробілів і провідну нову лінію.
Найкоротший код у байтах виграє.