*> <>、103 101バイト
<vD[3'(")'
1x<.5
S\:43_C43CdooI:o@:o@:o@Do
R!"^"x"v">
>:2* _"><"92.
x '>)">('u.02S*2:oooooodO<'<("<)'
ここで試してみてください!(n
初期スタックに書き込むか、エラーが発生します)
サブ100バイトの回答がなかったため、私はチャレンジに突き刺すことにしました。場所n
スタック上と離れてあなたが行きます!これは、(")
文字を再利用していくつかのバイトを節約します。
説明
初期化
<vD[3'(")'
ここに(")
、後で使用するために保存します。
< move the IP left
[3'(")' push '(")' to a new stack
D move back down to a clean stack
v move the IP down into "dance chooser"
ダンスチューザー
1x<.5
\
これは、生成するダンスのタイプを選択するために頻繁に実行されます。
x generate a 100ms dance or a 200ms dance
1 .5 jump to "200ms dance"
\ mirror IP into "100ms dance"
ありますv
上記x
と<
あまりにもそれの右側にあります。これらx
は、IPを間違った方向に移動しようとすると、getを再実行します。
100msのダンスを生成
S\:1*43_C43CdooI:o@:o@:o@Do
ここでは、100msのダンスの動きの1つを生成して出力します。
\ mirror the IP right
: copy n
43 C43C call "generate '^' or 'v'" twice
_ ignored mirror
do output a carriage return
o output the first hand of the bird
I:o@:o@:o@D select, copy, and output '(")'
o output the second hand of the bird
S sleep for previous n*100ms
\ mirror IP back to "dance chooser"
43C-「^」または「v」を生成
R!"^"x"v">
これは、「^」または「v」を生成して戻る単純な関数です。x
IPが左または右にのみ移動するように指示するダンスチューザーと同様に機能します。
x generate "^" or "v"
R!"^" > push "^" to stack and return
R "v" push "v" to stack and return
200msのダンスを生成
これはで始まる別の例ですx
。2つのセクションに分割されます:<(")>
と別の(>")> and <("<)
セクションx
は、2つの異なるセクションであり、共有する唯一のものであるためです。
<(")>
>:2* _"><"b2.
これは基本的にgenerate 100ms dance
ルーチンの開始を行い><
ますが、ランダムな^v
コンボの代わりに鳥の手に移入します。n
今回も2 倍になります。これにより、すべてのセットアップがgenerate 100ms dance
ルーチンを使用して鳥全体を出力し、代わりに200ms待機するようになります。
> move IP right
:2* copy n and do n*2
_ ignored mirror
"><" push "><" to stack
b2. jump to "output carriage return" in "generate 100ms dance"
(>")>
そして <("<)
x '>)">('u.02S*2:oooooodO<'<("<)'
この小さな説明は(>")>
and <("<)
生成に関するものですが、そのx
外部にIPを送信できます(以下で説明します)。
x move to "choose dance", generate (>")>, <("<), or <(")> (previous routine)
'>)">(' push '(>")>' to the stack
'<("<)' push '<("<)' to the stack
u O< ensure inner code block is always executed with IP moving left
od output carriage return
ooooo output bird
S*2: sleep for n*200ms
.02 jump to "dance chooser"