忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

ゲーム・オブ・ライフ

ジョン・ホートン・コンウェイが1970年に思いついたゲーム・オブ・ライフをつくってみました。動く模様を描くかんたんなプログラムです。


ゲーム・オブ・ライフ

ペンの色

操作方法

マウスでキャンバスに適当に線を描いてから[Start]ボタンを押して下さい。

[Start]ボタン:動かしたり一時停止したりします。

[Next]ボタン:1ステップだけ動かします。

マウスでキャンバスをドラッグ:セルに指定された色を描き込みます。

■:ペンの色を黒にします。

□:ペンの色を白にします。

解説

これはジョン・ホートン・コンウェイが1970年に考案したゲーム・オブ・ライフのシミュレーションです。いわゆる人工生命です――が、これを生命のシミュレーションとみなすのはチェスを戦争のシミュレーションとみなすのと同じくらい無理があるでしょう。それでも、かんたんなルールによって面白い動く模様が作られるのを見るのは楽しいものです。

ゲーム・オブ・ライフは生きているセル(■)と死んでいるセル(□)が次々と状態を変えていくことによって動くパターンを形作ります。■が多ければ生きているセルが多く、画面が全部□になったら全滅してしまったと考えて下さい。

生きるルールと死ぬルール

ゲーム・オブ・ライフにはたくさんセルが並んでいますが、すべてのセルが同じルールに従います。次のリストは、ゲーム・オブ・ライフの各セルを支配するルールです:

  • セルが生きているとき、
    • 周りの生きているセルの数が1以下なら寂しくて死んでしまう(ルール1)。
    • 周りの生きているセルの数が2か3ならそのまま生き続ける(ルール2)。
    • 周りの生きているセルの数が4以上なら過密で死ぬ(ルール3)。
  • セルが死んでいるとき、周りの生きているセルの数がちょうど3ならそこに新たに生まれる(ルール4)。

これらのルールはすべてのセルに適用されます。にもかかわらずすべてのセルが同じ色になってしまわないのは、これらのルールは周囲の環境(隣接する8セルのなかで生きているセルの数)によって違う働きをするからです。同じルールでも環境が違えば違う結果がもたらされるもので、だから全部が一色にならずに動くパターンが作られるわけです。

具体例

具体例を見ましょう。たとえば、以下のような状態のセルがあると、次の瞬間死にます(ルール1)。仲間がいないからです。

いっぽう、ある程度生きた仲間がいると、中心のセルは死にません(ルール2)。

かといって過密だと死にます(ルール3)。

死んだセルは、周りにちょうど3つの生きたセルがあれば、復活します(ルール4)。

拍手[0回]

PR