長い連休も、もう最終日になってしまいました(´;ω;`)。
連休中に、積読本を片付けようと思っていましたが、そもそも物理的に片付いていないので(笑)、何冊くらい溜まっているか数えてみたら、余裕で100冊越えてた(笑)。
で、少しは読もうと思って、手を付けた本の中にライフゲームのことが載っていたので、久々にプログラムを書いてみるかなーと思ったのですが、ほぼ忘れているので(笑)、どこかのサイトに載っていたプログラムをパクりつつ、それっぽいものを作ってみました。
バグ取りとかしていないですし、めっちゃ汚いコードなのですが、仕事じゃないので、取り敢えず動けば良いやということで…。
基本はLIFE GEMAなのですが、そのままじゃつまんないので、ちょっとアレンジしてみました。その名も「教祖生き残りゲーム」(笑)。
通常のライフゲームは、
- 死んでいるセルの周りに3つの生きているセルがあれば次の世代は誕生
- 生きているセルの周りに2個か3個の生きているセルがあれば次の世代も生き残り
- 生きているセルの周りに1個以下の生きているセルしかなければ死滅
- 生きているセルの周りに4つ以上の生きているセルがあれば死滅
というルールで世代交代をしていきます。
今回作ったライフゲームもどきは、
- 教祖セル(赤)
- 信者セル(緑)
- 空白セル(黒)…非信者含む
の3つの状態を持ちます
ルールは、
- 非信者の周囲に指定人数(初期値は5名)以上の信者がいれば、洗脳される
- 非信者の周囲に教祖がいれば洗脳される
- 信者の周囲に指定人数(初期値は3名)より少ない信者しかいなければ信者は消滅(洗脳解除)
- 信者の周囲に指定人数(初期値は7名)以上の信者がいれば、次の世代は教祖化
- 教祖の周りに別の教祖がいれば、教祖は消滅(潰し合い)
- 教祖の周りに10名以上の信者がいれば教祖はそのまま。かつ隣接するセルを信者化(洗脳)
です。
教祖以外のセルは、自分に隣接する8セルが影響範囲。教祖のセルは、2セル離れた範囲(24セル)が影響範囲とします。
周りにどのくらいの信者がいれば洗脳されるか?あるいは信者の周りにどのくらいの信者がいればお互いに洗脳しあうか?
教祖になりやすい状況がどの程度か?(どのくらいその気になりやすいか?)
で、いろいろパターンが変わります。
マウスでポチポチと初期状態を設定することもできますが、面倒な場合は、ランダムボタンを押せば、適当に初期値を設定します。
【布教】ボタンで、状態変化を始めます。
暇つぶしにはなった(笑)。
こちらから試せます
↓
教祖生き残りゲーム