13
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ため息が出るほど美しいライフゲーム

Posted at

はじめに

ライフゲームというものをご存知でしょうか。

詳しくはwikipediaを読んでほしいですが、要はシミュレーションの一種。

ほんの僅かな単純な規則から、驚くほど複雑で、まるで生命をもっているかのようなふるまいをすることから、ライフゲームと呼ばれています。

最近、reactを使う現場に入ったこともあり、それまでモダンなJavaScriptをほとんど書いたことがなかったため、いい機会だと思い、ライフゲームを作ってみました。

die-hard.gif

作成したアプリはこちらのリンクから飛べます。

https://lifegame00001.netlify.com/

ライフゲームとは

ライフゲームは極めてシンプル。ルールはたったの4つだけ。

  1. 誕生: 死んでいるセルに隣接する生きたセルがちょうど3つあれば、次の世代が誕生する

  2. 生存: 生きているセルに隣接する生きたセルが2つか3つならば、次の世代でも生存する

  3. 過疎: 生きているセルに隣接する生きたセルが1つ以下ならば、過疎により死滅する

  4. 過密: 生きているセルに隣接する生きたセルが4つ以上ならば、過密により死滅する

ルールはたったこれだけなのに、実に奥が深くて、面白い挙動をするんですね。

僕が作ってみたアプリです。↓で紹介するパターンとかを色々ためしてみると面白いですよ。

ライフゲームの面白いパターンを解説

ライフゲームの中で生成されるパターンには、すぐに死滅するもの、一定の法則性をもつもの、無限に増えるもの、などなど色々なものがあります。

生き延びる場合のパターンは、おおまかに4つに類別されます。

  1. 固定物体

  2. 振動子

  3. 移動物体

  4. 繁殖型

です。一個ずつサンプルを紹介していきます。

固定物体

ブロック。ずーっとこの形をキープしています。寡黙なやつです。

move.gif

振動子

ブリンカーって名前のやつです。blink(まばたき)してるように見えるからでしょうね。

vibe.gif

移動物体

グライダー

move.gif

繁殖型

宇宙船。四角形のパターンが固定砲台となり、そこから延々と宇宙船が発射されていくさまが観測できます。美しいですね。

Gospers_glider_gun.gif

から転載

中二病的解説

エンジニアは中二病気質な人間が多いのか、ライフゲームの中で生まれるパターンのなかには、「イカす」名前をもったものが何個か存在します。これを紹介せずにはいられません。痺れます。

銀河

遷移をするさまはまるで銀河のよう。その美しい規則性とダイナミックな動きには圧巻、の一言に尽きます。

Galaxy(Conway's_Game_of_Life).gif

から転載

ダイハード

Die hardは不死身、とか、しぶとい、という意味ですが、そのぐらい長く残り続ける配置のことです。

↓ダイハード

die-hard.gif

メトセラ

ある特定の配置においては、非常に長い世代を経ないと、死滅しないものが存在します。そういう配置のことを、聖書のメトセラという996歳まで生きた、と言われている人物になぞり、****長寿型(メトセラ)****と名称がついています。かっこいいですよね。

一つ前で紹介した、ダイハードはメトセラの一つです。

↓メトセラ

methuselah.png

エデンの園配置

ライフゲームにおいて、最初からそのように設定しない限り、絶対にその配置にはならない配置のことを指します。

聖書で登場するエデンの園が、神がつくったのでなければ、絶対に生まれることはなかったであろう楽園であることから、ライフゲームでのそういう配置のことを「エデンの園配置」と呼ぶそうです。

英名は Garden of Eden pattern

エデンの園配置

eden.png

から転載

感想

遊んでみると、意外と奥が深く、自分でアプリを作ってQiitaで解説記事を書くほどのめり込んでしまいました。エデンの園配置とか、メトセラとか、名前のセンスが素敵すぎますよね。

13
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?