PilotGoJ を改造する

prc-tools をインストールしたのは、PilotGoJ を改造したかったから。PilotGoJ は、Palm OS 用のオープンソース囲碁ソフトに改良を加えたものなのだけど、ところどころ変なところがある。これらを改善してみようというわけだ。
まず、(細かいけど)ハンディキャップ(置き石)の場所が変なこと。5 つまではこれでいいと思うのだけど、6、7、8 つのときに置かれる場所が、私の知っている置き方とは違うのだ。なんか気になるので、まずはここから修正してみる。置き石の処理は、main.c の SetHandicap で行われているようなので、ここを修正する。
また、置き石のときは、白が先に打つことになるはずなのに、なぜか黒からになってしまっているので、これも修正する。これは、main.c の SubNewGame 内に Palm が黒だったら先に打つという処理があるので、置き石がある場合は、白だったら先に打つように修正。人間どうしの場合はこれだけでは不足なような気がするけど、とりあえずは保留。
それから、コミが、5 目半しか選べない。今は 6 目半が主流だと思うので、どちらかを選択できるように改造。これには、prefs.c とリソースファイル?(pilotgoj.rcp.in)を修正する必要があった。置き石のときは通常コミなしにすると思うので、main.c の SubEndGame も修正。
とりあえずここまでで気になったところは改善できたかな。他にも、スコア表示のあとに下の 2 行くらいの表示が乱れるとか、undo 時に画面が乱れることがある(ポン抜きを undo した場合かな?)とか、若干気になるところがあるので追々直してみようかなと思う。

実際には、こんな細かい部分を修正したいのではなくて、悲しいほど弱いので、もっと強くなってほしいのだ。gnugo をもとにして作られているようだけど、バージョンが古い(おそらく 1.2)からかかなり弱い。WING でまだ 1 勝もできていない私が、9 子置かせても勝ててしまうというのは問題だ。gnugo のバージョンをもっと新しいものにすればいいと単純に考えたのだけど、新しいバージョンは 1.2 と比べてかなり複雑になってしまっている。その次の安定バージョンの 2.6 (3.2 よりも 4 級くらい弱いらしい)でも、1.2 とは別物としか思えない。
ということで gnugo の新しいバージョンを載せるという計画はほとんど挫折しているわけだけど、おもしろそうな課題なのでぼちぼちさわってみようと思う。