80年代的电视连续剧《骑士骑士》采用了一种名为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
附加规则
您可以编写程序或函数。
输出可以包含尾随空格和前导换行符。
以字节为单位的最短代码获胜。