死活のみならず、6ベクトルの計算をできるようにしました。 GraphGo014 として公開します。
【図77 GraphGo v0.14】
死活の計算をなんとかしたい、というところからスタートし、いくつか大きな変更をしました。
- 6ベクトルを計算するようにしました。活き石の計算が不十分なので、残りの5つもおかしくなります。
- 6ベクトルを碁盤上に明暗として表示できるようにしました。
- ベクトルを選ぶため、また、パスや投了、手順番号の表示/非表示の切り替えなどができるようにボタンを設置しました。
今まではSystem.out.println()でベクトルの内容を表示して確認していましたが、今後、その手間は省けます。
ボタンの描画にはGraphics2Dのグラデーションの機能を使いました。また、明暗の表示には色のアルファチャネル(RGB+A)を使い、A=128 (50%)の茶色で網掛けしています。
上図では、死に石を表示していますが、明らかに活き石が死に石と表示されています。活き石vの計算がうまくいっていないようです。そのせいだけではなさそうですが、眼の候補地の計算もうまくいっていません。
それから、6ベクトルを実際に計算してみて、以前の式に誤りがあることが分かりました。目と地の条件式の「石に囲われていて」という部分が正しくは、tSl≠1 になります。
これで、死に石(活き石)の計算や眼の候補地の計算の結果が簡単に確認できるようになりました。なんとか、改善していきたいと思います。
(つづく)