チャレンジ
15/16シーズンには多くの場所で最初の雪が降る冬が近づいているので、スノーマシンを壊して雪をコーディングしてみませんか?
n
STDINを介して整数を指定すると、レベルでASCII表現のベータのスノーフレーク(以下で説明)を出力しますn
。
ベータ版のスノーフレーク
スノーフレークは、レベル0で1つのxから始まります。
x
次に、各コーナーで次のいずれかの形状を追加します。
x
xx
上記の形状を右上隅に追加します。右下隅の場合は、時計回りに90°、左下の場合は時計回りに180°、左上の場合は時計回りに270°回転させます。
そうすると、次のような形になります。
x x
xx xx
x
xx xx
x x
形状の向きに注意してください。次に、上記の方向規則を使用して、各コーナーに図形を追加し、レベル2を取得します。
x x x
xxxxxxx
xx x x xx
xxx xxx
xx x xx
xxx xxx
xx x x xx
xxxxxxx
x x x
シェイプはx
、2つ以上の露出した側面(上記のコーナーと呼ばれる)を持つsにのみ追加されることに注意してください。
L字型は、n
1より大きい値で重複する場合があります。たとえば、次のようになります。
レベル0が次の場合:
x x
次に、レベル1にオーバーラップが存在する必要があります(で示される、出力にをo
含めないo
でください):
x o x
xxxoxxx
x x
xxxoxxx
x o x
あなたの仕事は、ベータ版のスノーフレークのこのASCII表現を出力することです。
ボーナス
最短のプログラムには50 repのボーナスがあり、n
負の場合、スノーフレーク(レベルn*-1
)を画像として、または画面にグラフィカルに出力します。
報奨金とメインタスク用に別々のプログラムを用意できます。
勝ち
バイト単位の最短プログラムが優先されます。
2 or more exposed sides
ルールを明確にできますか?中心と仮定するとされ0,0
、その後1,1
、1,-1
、-1,-1
、-1,1
2つの露出側面(他の4点の方を向いている側)を持つすべての。いっぱいになるのを避けるために、3つ以上の開いた側面であるべきではありませんか?または、0または1のネイバー(基数)がある場合にのみ展開します。