sugyan
2017-12-10LINE Engineer
DataLabs所属の@sugyanです。この記事はLINE Advent Calendar 2017の11日目の記事です。
個人的な話ですが、この秋から新たな趣味として将棋を始めました。この趣味に自分の技能を活かして何かしてみたいと思い「詰将棋の問題を自動生成して出題してくれるLINE Bot」を作りましたので、紹介します。
詰将棋とは
簡単に紹介しますと、詰将棋とは将棋のルールを用いた一種のパズルで、以下のようなルールになっています。
攻め方(先手)が玉方(後手)の玉を詰ますのが目的。
攻め方は必ず王手をかける(玉方は必ず王手をはずす)。
玉方は盤上と攻め方の持駒以外すべての駒(ただし玉は除く)を合駒として使用できる。
玉方は最善を尽くし、最も長く手数がかかるように逃げる。
玉方は無駄な合駒をしない。
その他は指し将棋のルール通り。二歩、打ち歩詰め、行き所のない駒、連続王手の千日手はいけない。
(日本将棋連盟 詰将棋ページより)
例えば、以下のような形で出題されます。
この問題の正解は▲2二歩成 △1三玉 ▲2三飛までの3手詰めとなっていて(「▲」が攻め方の動きを、「△」