きっかけは

最初にオセロゲーム(trinity)を作成したのが1988年ですから、今年でちょうど20年目になります。ここでは、WPF アプリケーションとして作成した事例を紹介します。


切っ掛けは、幼い頃に遊んだ「ダイヤモンドゲーム」でした。オセロゲームは2人が対峙するゲームなので、3人目は傍観するしかありません。そこで「3人でも遊べないか」という思いから、オセロゲーム(trinity)作りに着手したものです。そのルールは(3人で対戦することを除いて)オリジナルの「オセロゲーム」と同様です。

version implementation note
第1版 1988/11/25 Smalltalk/Smalltalk trinity(3人対戦)の布石として、先に hexagon(2人対戦)を作成しました。当時のバージョンはカラー対応しておらず、グレースケール(ビットマップ)を利用していたのが懐かしく思えます。
第2版 2004/01/07 Swing/Jython ビューには、Swing コンポーネントを利用しました。Smalltalk/Python の違いが、ここに集約されます。Jython 版は、こちら《要求仕様の変更:オセロゲーム〈蜂の巣〉hexagon 1/5 - 続・ひよ子のきもち》です。
第3版 2008/05/12 WPF/IronPython モデルは上記のものを再利用して、ビューを新たに作成します。Swing/WPF の違い、Jython/IronPython の違いが、ここに集約されます。

《Note》要求仕様(ゲームのルール)の変更にも柔軟かつ迅速に対処できることから、Smalltalk におけるアジャイル開発の恩恵を再認識しました。Smalltalk には遠く及びませんが、Jython/IronPython を導入することで、Java/C# と比べると、プログラミング効率の向上が期待できます。□