ライフゲーム

目次 解答例(ないかも)

最後の更新は次の時刻以降のはず.Time-stamp: "2003/03/25 Tue 10:24 hig"

2003/01/15 の実習には空のフロッピーディスク1枚持ってきてね

課題25_01(ta137)ライフゲーム

この課題は, 新しい directory ~/cs2/life をつくって行ってください.

講義で説明したように, ライフゲームとは, 2次元の格子状のセルに生息する生物が, 次のルールにしたがって生存と死滅を繰り返すものである.

現在の n[x][y]周囲8地点中の生存の地点数次の n[x][y]
0,1,4--8死(死滅)
2,3
0--2,4--8
3生(誕生)

サンプル life1.c に上のルール(だけ)を書き加えて, シミュレーションしよう. Makefileも未完成なので, 完成させよう. このプログラムは 5つのファイル life1.c, random.c, random.h, matrix.c, matrix.h にわかれている.

使用方法は次のような感じ.

s1609h017% ./life1 -p 0.3
などとすると, 確率 0.3 で生存地点となるようなランダムな初期条件で始める.
s1609h017% cat input3 | ./life1 
または
s1609h017% ./life1  < input3
などとすると, ファイルinput3に記述された初期条件で始める. ファイル input3の書式は次の通り(# 以降はコメントだから書かないでね)
5  # 行の数
8  # 列の数
0 0 0 0 0 0 0 0 # 0 が死滅 1 が生存
0 1 1 0 0 0 0 0 # 0 が死滅 1 が生存
0 0 0 1 0 0 0 0 # 0 が死滅 1 が生存
0 0 0 1 0 0 0 0 # 0 が死滅 1 が生存
0 0 0 0 0 0 0 0 # 0 が死滅 1 が生存

次のような初期条件で試してみよう.

ライフゲームについて, Web で検索して調べてみよう.

完成例: ~hig/cs2/life/life1


Copyright © 2002,2003 Saburo Higuchi. All rights reserved.
Saburo HIGUCHI, hig mail address