+⌒o⌒+すわわっ!ライフゲーム

JavaScript版はこちら+⌒o⌒+♪でも簡易版です。すいません。許して下さい。GO教消しますから。

【詳細は動画をご覧下さい】


■+⌒o⌒+すわわっ!ライフゲーム製作概要
今回は、1970年にイギリスの数学者ジョン・ホートン・コンウェイが考案した
ライフゲーム(生命の誕生、進化、淘汰などのプロセスを簡易的なモデルで再現した
シミュレーションゲーム)をVBScript+EXCELで作ることにしました。
また、コンウェイのライフゲームのルールに新たな条件をいろいろと加えて
+⌒o⌒+特有の生存状態をシミュレーションして観察してみたいと思います。


■コンウェイのライフゲームの基本ルールについて
コンウェイのライフゲームの基本ルールには以下の4つのパターンがあります。
(1)誕生のパターン
死んでいるセルに隣接する生きたセルがちょうど3つあれば、次の世代が誕生する。
図に示すとこのようになります。


(2)生存のパターン
生きているセルに隣接する生きたセルが2つか3つならば、次の世代でも生存する。
図に示すとこのようになります。(図は隣接する生きたセルが2つの場合)


(3)過疎のパターン
生きているセルに隣接する生きたセルが1つ以下ならば、過疎により死滅する。
図に示すとこのようになります。(図は隣接する生きたセルが1つの場合)


(4)過密のパターン
生きているセルに隣接する生きたセルが4つ以上ならば、過密により死滅する。
図に示すとこのようになります。(図は隣接する生きたセルが4つの場合)
コンウェイのライフゲームの基本ルールについては以上です。
ルールが分かったところで、 VBScript+EXCELでライフゲームを作っていきます。


■実際に製作していきます
全体の処理イメージとしてはこんな感じです。


そして、ちまちまとVBScriptソースを記述していきます。


■完成+⌒o⌒+
〜NextGeneration〜
そして+⌒o⌒+は王国を再建する

動作説明:
入力ファイル「からあげ.xls」をメインスクリプト「+⌒o⌒+.vbs」にドラッグ&ドロップすると
セルに配置した+⌒o⌒+がライフゲームの基本ルールに基づき世代更新処理を開始します。


入力ファイル「からあげ.xls」は以下のようになっております。
シートごとに+⌒o⌒+の配置パターンを作っていきます。(+⌒o⌒+の配置領域は64行×64列)
また、スクリプト実行中の+⌒o⌒+の数の遷移を分かり易くする為にワークシートに
折れ線グラフを埋め込んでいます。
ちなみにExcelのパージョンは2000で、OSはWindows7を使用しています。(動作保障外)


入力ファイル「からあげ.xls」をメインスクリプト「+⌒o⌒+.vbs」にドラッグ&ドロップすると
拡張処理を使用するか聞かれます。
仕様としては、
【いいえ(N)】を選択するとライフゲームの基本ルールに基づいたライフゲームを開始します。
【はい(Y)】を選択するとライフゲームの基本ルール+αの処理が加わります。(拡張ロジック)


ダイアログにて拡張処理の有無を選択すると、+⌒o⌒+が動き始め世代更新処理と
セルの表示更新をします。
世代更新処理は1000世代まで行われ、最終的な結果は出力ファイル「からあげ_Result.xls」
として新規保存されるようになっております。プログラムを正常に中断した場合
(セルへのコマンド入力)も同様に保存されます。



■結論
GO IS NOT GOD.
SWK IS GOD.



TOPへ戻る