W serialu telewizyjnym z lat 80. Knight Rider pojawił się inteligentny, samoświadomy samochód o nazwie KITT. Jednym z charakterystycznych aspektów samochodu był zamontowany z przodu pasek skanera, który pozwalał KITT „widzieć” (i wyglądał podejrzanie znajomo dla fanów innego, wcześniejszego serialu ).
Skaner miał osiem świateł, jak widać na tym zdjęciu:
Światła „przesunęły się”, jak pokazano na tym animowanym obrazie .
Twoim zadaniem, jak już zgadłeś, jest odtworzenie paska skanera z ruchomymi światłami w sztuce ASCII.
Wyzwanie
Biorąc pod uwagę liczbę całkowitą t, wypisuje stan paska skanera w tym momencie, zdefiniowany następująco:
- Skaner składa się z ośmiu świateł.
- W każdej chwili jedno ze świateł jest aktywne i jest pokazane jako
#. Światła, które są aktywne w czasiet-1, at-2obecnie przyciemnione i są pokazane jako+; chyba że pokrywają się z bieżącą aktywną. Reszta świateł jest wyłączona i są pokazane jako-. - Aktywne światło przesuwa się od lewej do prawej, a następnie od prawej do lewej.
Dokładne dane wyjściowe dla każdego tsą wyszczególnione poniżej.
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
Aby ujemne wartości tcyklu zostały po prostu rozszerzone:
-1 --> -#++---- % Same as 13
-2 --> --#++--- % Same as 12
Dodatkowe zasady
Możesz napisać program lub funkcję.
Dane wyjściowe mogą zawierać końcowe białe znaki i wiodący nowy wiersz.
Najkrótszy kod w bajtach wygrywa.
