背景
这是万圣节相关的挑战。
正如您从上一个挑战中看到的那样,我非常喜欢我所说的ascii艺术动画,它不仅画出一个图案,而且画出一个不断发展的图案。几年前,我被要求在万圣节那天让随机的ascii蝙蝠在屏幕上飞起来,使我的想法变得生动(有点呆板)后,我想到了这个主意。毋庸置疑,我有义务履行义务(为此而得到报酬),但这使我认为生活比随机蝙蝠还重要。受此启发,我想提出这一挑战。
挑战
蝙蝠绕月飞行。
这是一只蝙蝠:
^o^
这是月亮:
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
您必须显示蝙蝠飞行的每个阶段(请参见输出)。
输入项
没有
输出量
^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
mmm^o^
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
mmm
mmmmmmm^o^
mmmmmmmmm
mmmmmmm
mmm
mmm
mmmmmmm
mmmmmmmmm^o^
mmmmmmm
mmm
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm^o^
mmm
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
^o^mmm
mmm
mmmmmmm
mmmmmmmmm
^o^mmmmmmm
mmm
mmm
mmmmmmm
^o^mmmmmmmmm
mmmmmmm
mmm
mmm
^o^mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
^o^mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
^o^
mmm
mmmmmmm
mmmmmmmmm
mmmmmmm
mmm
规则
- 不读取外部文件或网站
- 您可以提交完整的程序或功能
- 我可以使用多余的空格和/或换行符
- 照常禁止标准漏洞
- 蝙蝠必须回到月球的顶部
- 如果需要,请随时清除各帧之间的屏幕,但这不是必需的。上面显示的输出很好
- 由于这是代码高尔夫,因此欢迎者将以最少的字节数来回答问题,尽管欢迎任何回答
样品
在完全没有高尔夫的Python 2中的参考实现(620字节,但只是为了证明它可以完成。以后可以使用)。
b='^o^'
m=[' ',
' mmm ',
' mmmmmmm ',
' mmmmmmmmm ',
' mmmmmmm ',
' mmm ',
' ']
p=[(9,12),(12,15),(14,17),(15,18),(14,17),(12,15),(9,12),(6,9),(4,7),(3,6),(4,7),(6,9),(9,12)]
d=0
for z in range(7):
x=map(str,m[z])
c="".join(x[:p[z][0]]) + b + "".join(x[p[z][1]:])+"\n"
print "\n".join(m[:z]) + "\n" + c+"\n".join(m[z+1:])
for z in range(6)[::-1]:
x=map(str,m[z])
c="".join(x[:p[z+6][0]]) + b + "".join(x[p[z+6][1]:])+"\n"
print "\n".join(m[:z]) + "\n" + c+"\n".join(m[z+1:])
结果
尽管@Jonathan显然在Jelly的字节数上获胜,但我还是将@Oyarsa的Brainfuck答案标记为可接受的答案,纯粹是因为我认为实际上可以用这种疯狂的语言做类似事情的人都应该获得+15 rep需要多少字节。这不是因为我对高尔夫语言有任何疑问。如果您有任何疑问,请参阅我对有关meta的问题的回答。非常感谢和尊重所有以任何语言发表贡献的人们。