打ち歩詰め判定の改良

  • 打ち歩詰め
 右(3二)の金将が利いており、敵玉(5一)は4一と4二の地点に逃げられません。
 左(6三)の金将が利いており、敵玉(5一)は6二の地点に逃げたり、5二の地点の駒を取ったりできません。
 つまり、敵の金将(6一)が5二の地点の駒を取れない場合、5二の地点の駒(角行・桂馬以外)で王手をされると詰みになります。
 飛車(7一)の横利きがあるため、敵の金将は5二の地点に打たれた歩兵を取れません。
 つまり、5二の地点に歩兵を打つと「打ち歩詰め」で反則になるため、打てません。
 (香車や飛車、銀将や金将は、打っても「打ち歩詰め」にはならないので大丈夫です)
  • 突き歩詰め
 なお、あらかじめ5三の地点に歩兵がいた場合は、盤上の歩兵を突いて詰めるのは反則になりません。
 (通常は「と金」に成りますが、歩兵のまま不成で進んでも大丈夫です)
※金将が盤上に5枚あるのは、盤面編集機能のためなので、気にしないで下さい・・・

  • 改善前
 デフォルトの状態の「Shogi.zrf」です。
 5二の地点へ歩兵が打ててしまいますが、反則手なので、本来打ててはいけません。
  • 改善後
 打ち歩詰めアルゴリズムを改良した「Shogi-Corrected」です。
 5二の地点へ歩兵を打つことができません。

最終更新:2020年08月18日 14:18