前回、cshogiに移植したGPS将棋のdf-pnを、攻め方に玉がない局面に対応した。
対応内容
- 既存のPositionクラスのcheckerBBを玉がない場合、空にする
- findCheckers()、hiddenCheckers()を玉なしの場合、空にする
- isOSのassertを玉がない場合に対応
- 探索アルゴリズム中のkingSquare_をSquareNum(駒台)扱いにする
- 玉位置参照している箇所をisInSquare()でガード
まとめ
cshogiを攻め方に玉がない局面に対応した。
これで、詰将棋ソルバーとして使用可能になった。
探索途中の読み筋は出力していないので、GUIから使う詰将棋エンジンとしては使いにくいが、Pythonスクリプトでバッチ的に処理するのには便利だと思う。