ページ 11

ライフゲーム

Posted: 2007年11月24日(土) 23:48
by 大工
ライフゲームの質問トピがありましたが内容が違うので新しくトピを立てます.

図1

□■□□□□□
□□□□□□□
□□□□□□□
□□□□□□□
□□□□□□□
■□■□□□□
■■□□□□□

図2

□□□□□□□
□□□□□□□
□□□□□□□
□□□□□□□
□■□■□□□
□■■□□□□
□□■□□□□

図1と図2のパターンとしては一致しますが, それをどのように判定したらよいでしょうか?
生存領域(

図1だと

□■□
□□□
□□□
□□□
□□□
■□■
■■□

図2だと

■□■
■■□
□■□

です. つまり, 現在のパターンを表示するのに必要最低限の升目です.
)を確保するとこまで出来たんですが. それらをどのように一致させればいいのか分かりません・・・


ご協力ねがいます。。。

Re:ライフゲーム

Posted: 2007年11月25日(日) 00:18
by バグ
何をもって同じと判別するのか、その基準を教えて下さい。

たとえば、比較する最小エリアは3×3マスである…とかです。

そういった判定基準がなければ、難しいと思いますよ。

Re:ライフゲーム

Posted: 2007年11月25日(日) 00:56
by 大工
バグさん>

あー、そうですよね・・・・

現在, データ構造としては生存領域を1つ1つリスト構造のように登録しています.

ソースを添付します.

このソースでは縦と横が同じもの同士しか判定してません.

Re:ライフゲーム

Posted: 2007年11月25日(日) 01:09
by 大工
生存領域を絞る際に最小(この場合は3*3)のものに絞る方法も考えましたが, これだと先に最小のものがなくてはならず図1→図2のような進み方(バラバラのものから→1かたまりのもの)だと1かたまりがないのでこの方法では出来ません・・・。

1から始めたほうがはやいんでしょうか?