バックグラウンド
これはハロウィーン関連の挑戦です。
私の最後の挑戦からお気づきかもしれませんが、私はアスキーアートアニメーションと呼ぶものがとても好きです。それは単にパターンを描くだけでなく、進行するパターンを描くことです。このアイデアは、数年前にハロウィーンのランダムなアスキーバットを画面上で飛ばすことで(かなり退屈な)プレゼンテーションを盛り上げるように頼まれた後に思いつきました。言うまでもなく、私は当然のことながら義務を負っていました(私はそれを支払われていました)が、ランダムなコウモリよりも生命に多くがあると考えさせられました。これに触発されて、私はこの挑戦を提案したいと思います。
チャレンジ
月の周りにコウモリを飛ばします。
コウモリは次のとおりです。
^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
ルール
- 外部ファイルまたはWebサイトからの読み取りはありません
- 完全なプログラムまたは機能を提出できます
- 余分なスペースや改行は大丈夫です
- 通常通り禁止される標準の抜け穴
- コウモリは月の頂点でフィニッシュする必要があります
- ご希望であれば、フレーム間で画面をクリアしても構いませんが、これは必須ではありません。上記の出力は問題ありません
- これはコードゴルフであるため、勝者はバイト数が最も少ない答えになりますが、どんな答えでも歓迎です
サンプル
完全に未使用の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の回答を純粋に受け入れられた回答としてマークするつもりです。必要なバイト数。これは、ゴルフの言語に問題があるからではありません。疑問がある場合は、メタに関するこれに対する質問への私の答えを参照してください。どんな言語でも貢献してくれたすべての人に感謝と敬意を表します。