コンテスト結果

それで、ここに最後の競争の結果があります。 参加してくれたみんなに感謝します。

原則として、タスクはまったく複雑ではなく(そのように計画されていました)、56人もの人々がそれに対処しました。 これを最初に作成した人の名前は次のとおりです。







カットの下で、問題と関連リンクの解決策を見つけることができます。





そのため、タスクは写真にあります。 写真をダウンロードして検討してください。 ズームアウトします。 ちなみに、重要なのは拡大する対象そのものです。 たとえば、ペイントはこの画像を正しく拡大しますが、Irfan ViewとMicrosoft Officeスイートの標準ビューアーは「ファンタジー化」を開始し、この画像を「見る」ことで、実際にここで見たものを判断するのが非常に難しくなります。







ペイントで拡大されたオプションをよく見てみると、ドットから漠然と馴染みのある数字が見えます。 それは何ですか、どこで見ましたか? もちろんです! 上の写真では、ゲーム「Life」の古典的な「グライダー」(または「グライダー」)は、セルラオートマトンの古典的な例にほかなりません。







Lifeゲームのもう1つの暗示は、ゲーム開発ハブにトピックを配置することでした。これは、彼がそこにいた賞品の種類のためではありません。 したがって、全体としての全体像は、おそらく、ある時点での人口の状態を表しています。 この時点で最も論理的な推論は、次の世代を生成するプロセスを開始し、何が起こっているのかを観察できるプログラムからそれを写真から転送することです。 この場所にいる真のJediは、PNGファイルの独自のパーサーとLifeの実装を作成できます。 もう少し実用的な人はpngをbmpに変換し(解析しやすい)、それを読んで、既存のゲーム実装の一部にフィードできる配列を取得します。 そして、非常に怠laな人々(言葉の意味では)は、人口のあるグラフィックファイルを開いて実行できる実装がおそらく既に存在していると想定できます。 そして、そのようなプログラムは存在します。 最高の1つはGollyです。 彼女は提案された写真を静かに開きます。これは、次の世代の世代を開始するときに見るものです。







そして、ここにテキストがあります-「 こんにちは、 @ INFOPULSE_UKR FROM #HABR!



次に、画面上で何が起こっているのかを説明します。 「グライダー」が何であるかはすでに知っています(上記参照)。 テキストが構成されているのはグライダーからであり、その動きは画面に表示されます。



しかし、テキストはどのようにして生まれましたか? 繰り返しになりますが、ずっと前に「グライダーガン」が発明されました-宇宙に発射することで無限の数のグライダーを生成できるフィギュアです。 最初の銃は単にグライダーの流れを生成しました。







この場合に見られるのは、「Golly-gun」と呼ばれる標準的な銃の修正です(少なくとも私にとって、この図はその名前で最初に出会った)。 これにより、「ストア」内のグライダーの数と位置(銃の初期状態)によって決定されるギャップのあるグライダーのフローを生成できます。 実際、バイナリコードがあります。 前述のGollyプログラムのヘッダーのWebサイトで、そのような銃の例を見ることができます。







しかし、任意のテキストを書く方法は? そのような銃を非常に長い時間手動で作成します。 幸いなことに、これは必要ありません。 まず、「フルストア」を備えた既製のショットガンテンプレートがあります。 あなたはそれを取り、生成されたスレッドのギャップを取得することで余分なグライダーを取り除くことができます。 第二に、これもできません-特定のテキスト用のショットガンを生成できるRubyスクリプトがあります。 このタスクの準備に使用されたのは彼でした。 簡単ですね。



受賞者の皆様、おめでとうございます-賞品の受け取りに同意するために、私に連絡してください(HabraのPMまたはtangrofromhabr \\ gmail.com(\\ = @)を介して)。



興味のある皆さんに感謝します-あなたが仕事を楽しんだことを願っています。



All Articles