TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

cshogiにGPS将棋のdf-pnを移植(その2 攻め方に玉がない局面に対応)

前回、cshogiに移植したGPS将棋のdf-pnを、攻め方に玉がない局面に対応した。

対応内容

  • 既存のPositionクラスのcheckerBBを玉がない場合、空にする
  • findCheckers()、hiddenCheckers()を玉なしの場合、空にする
  • isOSのassertを玉がない場合に対応
  • 探索アルゴリズム中のkingSquare_をSquareNum(駒台)扱いにする
  • 玉位置参照している箇所をisInSquare()でガード

PyPI

対応したバージョンをPyPIにv1.0.1として登録した。

github.com

まとめ

cshogiを攻め方に玉がない局面に対応した。
これで、詰将棋ソルバーとして使用可能になった。
探索途中の読み筋は出力していないので、GUIから使う詰将棋エンジンとしては使いにくいが、Pythonスクリプトでバッチ的に処理するのには便利だと思う。