Brainfuckスタイルで新年あけましておめでとうございます

ブログ「Happy New Year」の読者の皆さん、おめでとうございます。 しかし、それだけではなく、Brainfuckにお祝いの言葉を書いてください。



最初のお祝いでは、ASCIIアートの形式でメッセージが表示されます。



画像





なぜなら テキストを表示するために、改行を含む5文字の制限された辞書が使用され、この辞書はプログラムの先頭で形成され、メモリポインタを辞書内で移動して文字を表示します。 したがって、プログラムのサイズを十分に小さくすることができました。 プログラムのテキストを新年の挨拶の形で作成するだけです。

結果のプログラムのテキストは、 ここで表示できます





彼らが言うように、食欲は食べることによってもたらされます。 最初のお祝いに約40分を費やしましたが、特にお祝いの実装が平凡であることが判明したため、これでは十分ではないことに気付きました。 したがって、私は2回目のお祝いを設定しました。 アニメーションカードを作りたかった。 このアイデアを実装するには、ESCシーケンスを使用します。これにより、テキスト画面をほぼグラフィックステーションに変えることができます。



ビデオはプログラムの結果を示しています。







視聴中にYouTubeの雪片をオンにすると、デモンストレーションはさらに壮観になります。



ここでも最初に文字の辞書が作成され、そこからクリスマスツリーのイメージが派生します。 次に、画面の中央にクリスマスツリーが「描画」されます。



次に、虹色の花輪を扱いましょう。 「電球」の位置は静的なので、単純に異なる色で表示します。 合計7色が使用されます。 エスケープコードでは、番号は順番に並んでいます。 したがって、新しい各文字は順番に色付きで表示されます。 シニア番号に達すると、最初から番号を付け始めます。 ガーランドの「電球」を出力し始め、前のサイクルから色番号を1だけシフトすると、ランニングライトの効果が得られます。



プログラムのテキストは、プログラムの詳細な説明にこだわらないように十分に文書化されています。 ここでプログラムコードを表示します



PS。 ESCシーケンスをサポートする端末をお持ちでない場合は、DosBoxエミュレーターをダウンロードし、そこでプリコンパイルされたプログラムを実行することをお勧めします。 アーカイブにはBrainfuckのコンパイラも含まれています。





更新しました 。 最も信じられないほどの新年のご挨拶のために、ブログ「異常なプログラミング」の枠組みでミニコンテストを開催しないのではないかと思われましたか? 条件は1つだけです-おめでとうございますは、ブログの主題に対応する必要があります。 勝者は、決定のために投じられた投票数によって決定されます。 普遍的な名誉と尊敬以外に賞品はありません。



All Articles