かれこれ30年前くらいに、回り将棋のプログラムを作ろうとしたことがあったのだが、頓挫した。

 

頓挫した理由は、振り駒の出目の確率をどう計算しようかと悩んでしまったから。

 

 

先週金曜に、数学仲間との新年会で、AIがチェス、囲碁、将棋として、既に人間は勝てない状況になっているとかそういった話の流れで、昔回り将棋のプログラムを書いて挫折した話しをしたんだ。

 

そうしたら、結構盛り上がって、金の出目による点数の話題へとなった。

 

金が見えるのが1、4枚金ならば4ではなくて50、4枚金の裏ならば0ではなくて100。

横に立てば5、縦に立てば10、では頂点に接する面積の小さい面を下に立ったら何点という話題になり、100派と1000派が丁度半々となった。

 

そこからは、山形の木の駒ならばとか、プラスチックの安い駒ならば型抜きの方法によってどうだこうだとなっていったのだ。

 

で、それについてGeminiに聞いたが、適当に流されてしまった。

 

私の提案として、駒の重心を中心とする駒が概説する球を描き、重心から各頂点及び各辺へ直線を引いて、球の表面を分割して、分割された面の面積比でどうだろうか?

となった。

 

 

さて、これ以外にも、将棋の駒について思うところがあって、

表に、王将、飛車、角行、金将、銀将、桂馬、香車と描かれていれば、まだ良いのだが、王、飛、角、金、銀、桂、香、と一文字の場合、成ったときの文字、つまり裏面は金のくずし字や草書体だったりするので、場合によっては見分けが付かなくなり、更にいうと、成った状態の駒を打ってしまうと反則負けとなるのだ。

 

相手が成った銀将を取って自分の駒としたときに、成銀のまま手元に置くと、それは金将に見えてしまうってことなんだ。

 

これを金将だと思って打ってしまったら、それが反則負けということになるんだけれども、そもそも大会の公式の駒として、そういう駒を使うのはどうかと思ってしまうんだよね。

 

 

さて、回り将棋の金の出目の計算をやらないとならないなぁ。

 

皆さんならどんな方法で求めますか?

物理エンジンで回すというのもありだな。

 

 

あと、フォントの問題もあるんだよな。

 

金将とかの将の文字は、將󠄄を使って、IPAmj明朝か花園明朝でivsで將󠄄とすることで解決出来るので、html5で駒を描いてみようかとは思うが、裏面の行書体やくずし字はフォントがなければ無理だな。

 

 

ではでは