Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

John Horton Conwayのライフゲーム。簡易的な生物のシミュレーションが行えます。

Notifications You must be signed in to change notification settings

Sh1ragami/life-game

Repository files navigation

Conway's Game of Life

Vercel Deploy TypeScript React Vite License

このプロジェクトは、コンウェイのライフゲームを Reactを使って実装したものです。
ブラウザ上でセルオートマトンの進化を観察でき、ルールやパラメータを変更しながら試すことができます。

アプリはこちらから利用できます:
https://life-game-l9nv.vercel.app/


ライフゲームとは

ライフゲームはイギリスの数学者ジョン・ホートン・コンウェイが考案したセルオートマトンです。
「ゼロプレイヤーゲーム」とも呼ばれ、初期状態を与えると自動的に世代が進んでいきます。

ルールは単純ですが、そこから生まれるパターンは多様で複雑です。
このことから、ライフゲームは計算機科学・数学・複雑系の研究や教育で広く取り上げられています。

ウィキペディア(Wikipedia)

ルール(Conway, B3/S23)

  1. 誕生: 死んでいるセルに隣接する生セルがちょうど3つ → 誕生
  2. 生存: 生セルの隣に2つまたは3つの生セル → 生存
  3. 過疎: 生セルの隣が1つ以下 → 死亡
  4. 過密: 生セルの隣が4つ以上 → 死亡

このアプリでは、Conway の標準ルール以外にも HighLife, Seeds, Day & Night など複数のルールを切り替えて試すことができます。


代表的なパターン

ブロック(安定) ブリンカー(振動子) グライダー(移動)
■ ■
■ ■
    
■
■
■
    
  ■
   ■ ■
  ■ ■
    

操作方法

  • 「開始 / 停止」: シミュレーションの実行/停止を切り替えます。
  • 「ランダム」: 現在の「個体数」で初期化します。
  • 「クリア」: すべてのセルを死にします。
  • 「速度」: 1〜1000 世代/秒を 1 刻みで指定します(右ほど高速)。
  • 「グリッドサイズ」: 20〜200 の範囲で盤面サイズを変更します。
  • 「ルール」: Conway(標準)ほか、複数のルールを選択できます。
  • 盤面編集: 停止中にセルをクリックで ON/OFF。Shift+クリックで 2×2 のブロックを配置できます(安定パターン)。

パラメータ

  • 個体数(0〜盤面の総セル数)
    • 「ランダム」実行時に配置する生きたセルの数を指定します。既定は盤面の約25%。
  • 速度(世代/秒)
    • 1 → 約 1000ms/世代(1 世代/秒)
    • 1000 → 約 1ms/世代(1000 世代/秒)

About

John Horton Conwayのライフゲーム。簡易的な生物のシミュレーションが行えます。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published