この競争は終わりました。エソラン以外の興味深いエントリーに感謝し、JakujeがJavaScriptを受賞したことを祝福します。
このサイトのASCIIアートチャレンジの偉大な伝統に、もう1つあります。入力が与えられたら、らせんを描きます。
&>----v
||>--v|
|||>v||
|||@|||
||^-<||
|^---<|
^-----<
簡単ですね ふふふふ...うん...
(ASCII Dragons Curve投稿と、オプティマイザーのASCII Art of the Day投稿に触発されました)
入力
入力は、通常のSTDIN /関数の引数などから取得される一連のパラメーターの形式で、4つの部分で構成される同等の言語になります。これらの部分は、4つの引数、4つ、サイズ4の配列などになります。チャレンジ全体を通して単純さと一貫性を保つために、入力を1つの単語として表します。
2 ≤ x ≤ 20
スパイラルのサイズを「正方形」で指定する整数。各印刷文字は1つの「正方形」を表します。理論的にはこれは非常に範囲が広いかもしれませんが、ASCIIアートを描いていることを考えると、これは画面上である程度適切に収まるように、これの安全な上限は20になります。d u r
またはの1文字。l
開始「正方形」からの最初の動き(下、上、右、左)を示します。c
「反時計回り」を示すオプションの。c
が省略された場合、スパイラルが時計回りに回転すると仮定します。1 ≤ y ≤ 10
前のスパイラルの仕上げ「正方形」を新しいものの開始「正方形」として使用して、スパイラルの描画を再帰する回数を指定する最後の整数。描画をある時点で終了させるため、上限の10を選択しています。- いくつかの入力例:
20lc5
13d2
2rc1
興味深いことに、サイズ入力の奇数の値は@
常にスパイラルの正確な中心になりますが、偶数の値は、初期の方向に応じて、4つの斜め方向のいずれかで開始「正方形」オフセットを持つ場合があることに注意してください旅行。これにより、いくつかの...興味深い...パターンが生じる可能性があります。以下の2つの偶数の例を参照してください。
入力仕様に従っていない入力(例11q#s
:)は未定義であり、プログラムが適切にbarfすることを完全に期待しています。:)
出力
出力は、言語と同等のSTDOUTを介したASCII印刷可能な出力であり、次の仕様があります。
- (各再帰の)開始「正方形」は、アットマークでマークする必要があります
@
。 - 最後の「正方形」は、アンパサンドでマークする必要があります
&
。複数の再帰の場合、最後の「正方形」のみをマークする必要があり&
ます。 - スパイラルパスの角は、を使用して、進行方向を「指す」必要があり
< > v ^
ます。 - 垂直移動はパイプで引く必要があります
|
。 - 水平移動はダッシュで描く必要があります
-
。 - 後の再帰によって上書きされる「正方形」は、最新の移動方向を表示する必要があります。これにより、「古い」再帰の上に「新しい」再帰が重ねられているように見えます。
4rc3
以下の例を参照してください。 - 最後の改行は問題ありません。先頭のスペースは必須なので、許可されますが、末尾のスペースは許可されません。
- エスケープシーケンスを使用してASCIIアートをSTDOUTに描画する場合はドッキングしませんが、黙って失望します。(それらを使用する場合、引き続き賞金の資格があります)
例
2d4
=直径2、下降、時計回り、4回の再帰から開始
&@@@@
^<<<<
この例では、描画は右上から始まり、@
下に1つ、左に1つ、上に1つ行きます。この時点で、その2d
部分を終了したので、2回目の再帰を開始し@
ます。その後、3回目の再帰。その後、4番目と最後に&
。
4rc3
=直径4、右回り、反時計回り、3回の再帰から開始
&--<
v-<|
|@^|<
>--^|
|@^|<
>--^|
|@^|
>--^
この例では、描画は下から始まり、@
右に1つ、上に1つ、中央に到達して@
その4rc
部分が終わるまで螺旋状に動きます。次に、これをさらに2回繰り返して、要求された3つの再帰をすべて取得します。4rc1
これは、この例の左上の4x4ブロックにすぎないことに注意してください。
7u1
=直径7、時計回り、1回の再帰で開始(開始はイントロと同じです)
&>----v
||>--v|
|||>v||
|||@|||
||^-<||
|^---<|
^-----<
勝ちと制限
これはCode Golfなので、バイト単位の最小の答えが勝ちです。提出は、プログラム/機能/ CJamコードブロックなどの通常の形式で行う必要があります。標準の抜け穴の制限が適用されます。クローズドコースのプロのドライバー。刺激が続く場合は、使用を中止し、医師に相談してください。