午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

エクセルVBAでライフゲームその2

 
前回
エクセル方眼紙とVBAライフゲーム ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
http://blogs.yahoo.co.jp/gogowaten/14597959.html
のつづき
 

動作の様子
マップの上下左右を繋げたので
マップ端でグライダーも消えることなく
反対側から出てくるようになった
 
 

f:id:gogowaten:20191030133553p:plain

全体
 
初期配置ボタン
イメージ 2
初期配置割合によってmapに生存セルを配置する
ランダムに配置するのでボタンを押すたびに変化する
 
開始ボタン
イメージ 14
指定したターン数まで世代を自動ですすめる
 
クリア/中止
イメージ 3
map中の生存セルを消去(塗りつぶしなしに)する
開始ボタンで進めている途中でも消去する
生存セルが0になると止まるようにしてあるので
中止したいときにも使える
 
イメージ 4
前回と同じボタン
 
map範囲変更
イメージ 5
ライフゲームに使うセル範囲を変更する
↑のようにG8:P16を選択状態にしてからボタンを押すと
 
イメージ 6
変更完了
map範囲は赤枠がつく
 
設定
イメージ 7
薄いオレンジのセルはリストから値を変更可能
ターン間隔はゲームスピードなんだけど
パソコンの性能やmap範囲の大きさによっては
指定より遅くなる
map範囲が20x20セルくらいだと最速に指定しても
0.1秒と一緒くらいかなあ
 
 
ライフゲームのルール変更
イメージ 8
この状態がライフゲームの基本ルールと同じ
 
 
 
イメージ 9
ターン数100にして開始
 

f:id:gogowaten:20191030133613p:plain

100ターン終了後の状態
セルの色は誕生直後は黒で生存し続けるとジョジョに赤くなるようにしてある
5世代続いたら真っ赤になる
下にあるグラフは生存率の変化で、終了後に表示(更新)される
 
設定を変えて遊んでみる
イメージ 11
生存条件を生き残りやすく1~4に変更すると
迷路状になって固定される
 
イメージ 12
全部1
新陳代謝激しいけど意外に5世代続くセルもある
 
 
イメージ 13
8,8,0
これ形も面白いし、変化もおもしろい
 
 
以前からだけどボタンや説明画像に使ったかっこいいフォントは
フロップデザインフォント
フリーフォント - フロップデザインフォント無料ダウンロード日本語ウェブフォント
https://www.flopdesign.com/freefont/flopdesignfont.html
素晴らしい
 
 
今回のエクセルファイル
今回のコードとか
エクセルVBAライフゲームその2のコードと名前の付いたセル範囲の一覧作成マクロ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
http://blogs.yahoo.co.jp/gogowaten/14608298.html