図形エディタが未完のままなのですが、JavaScript で作っていた囲碁プログラムをしばらくは Small Basic で書いてみることにしました。Small Basic のほうが使い慣れてしまっているので、デバッグするのも楽だろうと考えました。
まずは碁盤のプログラムを作成しました。RHV135 で発行しました。実は作成したのはずいぶん前なのですが、画面のチラツキなどを解消しました。

【図90 碁盤】
もともと碁盤の図を作成するために書いたプログラムです。黒白交互に石を置いていけます。盤外をクリックすると順番が入れ替わります。石の上をクリックすると石を取り除けます。テキスト画面にはSGF(スマートゲームフォーマット)の棋譜が出力されます。
以前作った囲碁プログラムは AI (次の手を考える頭脳の部分)を作りかけて、Small Basic では遅すぎるということで、Java に移行しました。今回は黒白ランダムに終局まで打つ(プレイアウトといいます)シミュレーション プログラムを作ろうと思います。プレイアウトも以前作ったので、組み合せればできると思います。
囲碁のシミュレーションでやってみたいことは、初手をどこに打つと勝つ確率が高いかを調べてみることです。5路盤の囲碁は解析が済んでいて、初手天元が強いことが分かっています。これも確認してみたいと思います。
5路盤より路数が増えるとコンピュータの解析はされておらず、路数が増えるほど実戦では初手天元はあまり打たれません。映画『天地明察』の影響もあるのですが、天元は幾何学的に美しい位置ではあるので、9路盤くらいまでシミュレーションしてみる予定です。
天元なので、5路盤、7路盤、9路盤が対象になります。
