La serie de televisión de los 80 Knight Rider presentó un auto inteligente y consciente de sí mismo llamado KITT. Un aspecto distintivo del automóvil era una barra de escáner frontal que permitía a KITT "ver" (y que parecía sospechosamente familiar para los fanáticos de otra serie de televisión anterior ).
El escáner tenía ocho luces como se ve en esta imagen:
Las luces "se movieron" como se muestra en esta imagen animada .
Su tarea, como ya lo ha adivinado, es recrear la barra del escáner con las luces en movimiento en el arte ASCII.
El reto
Dado un entero t
, genera el estado de la barra del escáner en ese instante, definido de la siguiente manera:
- El escáner consta de ocho luces.
- En cualquier instante, una de las luces está activa y se muestra como
#
. Las luces que estaban activas a vecest-1
yt-2
ahora están atenuadas , y se muestran como+
; a menos que coincidan con el activo actual. El resto de las luces están apagadas y se muestran como-
. - La luz activa se mueve de izquierda a derecha, luego de derecha a izquierda.
El resultado exacto de cada uno t
se detalla a continuación.
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
Para valores negativos del t
ciclo simplemente se extiende:
-1 --> -#++---- % Same as 13
-2 --> --#++--- % Same as 12
Reglas adicionales
Puedes escribir un programa o función.
La salida puede contener espacios en blanco al final y una nueva línea inicial.
El código más corto en bytes gana.