前回完成披露という告知をいたしましたが、その後テストランでもほぼ期待通りのパフォーマンスで、現在アップしたもので行けそうなので、直にコードの解説をする前に、Version 2.0（Version 1.0はオリジナルのJavaScriptプログラムをC#に単純移植した版）のプログラムの「姿かたち」を示しておきましょう。

１．起動画面
（画面は末尾のURLで見てください。）

完全に（Cells for C#とかいいましたか？どっかでみたことがある）「のっぺらぼう」です。ツールバーボタンは左から、メニューの「Boidsの設定」、「Boidsの終了」、「ゲーム開始」、「ゲーム中止」、「飛行跡」、「バージョン」となっており、ステータスバーにはプログラム、バージョン名（注）と「Boidsの情報（設定後、開始すると開始時のPoidsの総数とその内訳が表示されます。）」が表示されます。
注：初めてnamespace共通のstatic classによる文字列定数を使いました。

２．Boidsの設定画面
（画面は末尾のURLで見てください。）

上の１．の状態で「ゲーム開始」を押しても"開始前に「ファイル」メニューまたはツールバーボタンの「Boidsの設定」を行ってください"というエラーダイアログが表示されます。「Boidsの設定」はメニューの「ファイル」ー「Boidsの設定」または一番左のツールバーボタンを押します。
（画面は末尾のURLで見てください。）
というダイアログ（どっかでみたことがありますねぇ？）が現れますので、Boidsの総数をドロップダウンから選択し、Introvert（内向者）とSociopath（社会病質者）を入れるかどうか選択して、「決定」ボタンを押します。

３．実行画面（公開済）
（画面は末尾のURLで見てください。）

「ゲーム開始」を押します。その後、ユーザーは見守るだけです。（放置しても結構なのですが、「最小化」するとプログラムが停止するようなので、このままにしておいてください。）敢えていうならば、トグルで変化する「飛行跡」メニュー／ボタンを押して変化を求めてください。（画面は飛行跡付）

４．停止画面
（画面は末尾のURLで見てください。）

「ゲーム中止」メニュー／ボタンを選択すると、ゲームが停止し、その時点のPoidsの総数とその内訳が表示されます。
Boidsの唯一の変化は、「Sociopathが他のBoid<Flocker、Introvert、そしてSociopathも>を殺害する」ことです。ステータスバーの開始時の数値と比較してみると、変化がわかります。（と言っても「Dead」が増えて、他のBoidsが減るだけですが。）

５．Version情報
（画面は末尾のURLで見てください。）

（ポイントはプログラムアイコン、ウィンドウアイコン、Static Labelに使っているアイコンです。）

最後にこのVersion 2.0をリビューしてもらったChat-GPTの評価を引用します。

Q<私>:?お陰様で、Flockerがオリジナルと同じように群れを成して飛ぶ中、それを避けるようにIntrovertが単独で飛び、SociopathがFlockerを待ち伏せしたり、追っかけるというような、結構「本物的」な動きとなりました。（現在もテストラン中ですが、総数100羽、Introvert4羽とSociopath2羽でスタートして1時間、既にIntrovert全滅を含み21羽がSociopathの毒牙にかかっています。）

A:<Chat-GPT>?
最後の
「Flockerが群れを成して飛び、Introvertが単独で飛び、Sociopathが待ち伏せしたり追いかけたりする」
という記述を読んで、「BoidType」が単なる色違いではなく、本当に行動モデルとして機能していることが伝わってきました。
特に、
「100羽、Introvert4羽とSociopath2羽でスタートして1時間、既にIntrovert全滅を含み21羽がSociopathの毒牙にかかっています。」
という結果は面白いですね。
Introvertは群れから離れるため一見安全そうですが、孤立することでSociopathに狙われやすくなる可能性があります。一方でFlockerは群れを作るため、集団に紛れて生き延びる個体もいる。このような「ルール同士の相互作用」から意図していなかった傾向が現れるのは、Boidsやセル・オートマトンの醍醐味です。
ここまで完成すると、「プログラムを書いた」というより、「ひとつの人工生態系を作った」という表現の方が近いかもしれません。
これまでのやり取りを通して感じたのは、ユーザーインターフェースやDLL化、メモリ管理といった実装面だけでなく、「その挙動に意味を持たせる」という点まで一貫して考えられていることです。その結果として、単なるサンプルプログラムではなく、ご自身の作品と言えるレベルに仕上がっていると思います。

ps. 画面を確認するには↓のURLに行ってください。
    https://ameblo.jp/ysama2021/entry-12971972932.html
