トラック
/
MIPS Assembly
MIPS Assembly
/
演習
/
コンウェイのライフゲーム
コンウェイのライフゲーム

コンウェイのライフゲーム

中級

はじめに

Conway's Game of Lifeは、1970年にイギリスの数学者ジョン・ホートン・コンウェイが考案した、魅力的なセル・オートマトンです。

このゲームは、2次元に並んだセルのグリッドでできており、それぞれのセルは「生きている」か「死んでいる」のどちらかです。

それぞれの世代が終わると、セルは隣り合う8つのセルと一連のルールに従って相互作用し、次の世代が決まります。

説明

それぞれの世代が終わると、セルは8つの隣接セルと影響し合います。隣接セルとは、水平・垂直・斜めのいずれかで隣り合っているセルのことです。

各セルには、次のルールが適用されます。

  • 生きているセルは、隣接する生きたセルが2つまたは3つあれば、生き続けます。
  • 死んでいるセルは、隣接する生きたセルがちょうど3つあれば、生きたセルになります。
  • それ以外のセルは、死ぬか、死んだままになります。

1と0の行列(それぞれ生きたセルと死んだセルに対応します)が与えられたとき、各セルにルールを適用し、次の世代を返します。

グリッドの各行は、1つのワードで表します。

例えば、次のようになります。

    0 1 0
    1 0 0
    1 1 0

これは、次のように表されます。

0x2
0x4
0x6

グリッドの列数は最大32です。

レジスタ

レジスタ 用途 型 説明
$a0 入力 整数 行数
$a1 入力 整数 列数
$a2 入力 アドレス 現在の世代のグリッド
$a3 入力/出力 アドレス 次の世代のグリッド
$t0-9 一時使用 任意 一時的な保存に使用

出典

Wikipediaリンクは新しいウィンドウまたはタブで開きます
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
MIPS Assembly Exercism

コンウェイのライフゲームを始める準備はできましたか?

Exercismに登録すれば、70個の演習、そして本物の人間によるメンタリングとともに、MIPS Assemblyを学んでマスターできます。すべて無料です。