← StudyX Devlog

诘将棋入门:从3步诘开始的规则与解题方法

HiroHiro · Game Designer @ StudyXShogi365使用指南
诘将棋入门:从3步诘开始的规则与解题方法

诘将棋(詰将棋)是日本将棋的将杀题。题目给出一个局面、几枚持驹和一个步数,你要在正好这么多步内将死对方的玉。几百年来,将棋棋手一直用这种方式锻炼终盘,直到今天,想变强的初学者最常听到的建议仍然是做诘将棋。

我做 Shogi365 的时候,必须把诘将棋的每一条规则都写进代码里,因为这个应用让你在棋盘上亲手走出答案,而不是翻到后面看。把一条规则写成程序,最能看清它到底说了什么。这篇文章是我想对今天刚开始的人说的话:新手容易忽略的规则,怎么读一道3步诘,以及怎么练习。

规则,包括常被忽略的部分

基本思路一句话就能说完,但答案对不对,取决于几个细节。

攻方的每一步都必须将军。 解题的人执攻方(攻め方),走的每一步都必须是王手(将军)。为下一步将死做准备的安静一手,在实战里再好,在诘将棋里也不能走。

正好N步,每一步都算。 3步诘(3手詰)指的是总共三步:你将军,玉方应对,你将死。将棋把双方的每一步分别计数,所以3步诘相当于国际象棋里说的「两步杀」。因为攻方先走、也最后走,步数总是奇数。

玉方会走最好的应对。 玉方(玉方)可以走任何合法的一步:玉逃开、吃掉将军的棋子,或者在中间打入棋子挡住(合驹)。它会在这些应对里选坚持最久的那一个。只有对每一种应对都能将死,你的手顺才算数。

玉方拥有剩下的全部棋子。 这条规则最让人意外。凡是不在盘上、也不在攻方持驹里的棋子,全部归玉方,随时可以打进来挡住将军。这叫「残り駒全部」。所以飞车或角行从远处将军,通常都要考虑会被合驹挡住。

打步诘是犯规。 不能用持驹里的步打下去将死对方,这叫打ち歩詰め。用盘上已有的步向前推进将死则没有问题。有些题目会故意利用这条规则,让最自然的打步恰好是不能走的那一手。

二步也是犯规。 在自己已经有未升变的步的那一列,不能再打步,这叫二歩。这条对玉方的合驹同样适用。

再也走不动的棋子必须升变。 走到最底一行的步和香,走到最后两行的桂,都必须升变。

无意义的合驹不计步数。 如果玉方打入一枚棋子挡住,而你只是吃掉它、照样将死,这种合驹叫「無駄合い」,不计入步数。Shogi365 更进一步:凡是主线里包含無駄合い的题目,在生成阶段就被排除,所以屏幕上显示的步数,就是你实际要走的步数。

还有一个值得知道的惯例。好的题目里每一枚棋子都有作用,持驹到最后通常会全部用完。Shogi365 的每道题都检查过这一点:攻方盘上的棋子和持驹、玉方的棋子,每一枚都是必需的。所以如果你的答案里有持驹没用上,值得想想是不是漏看了什么。

为什么从3步诘开始

3步诘的长度,刚好能让整条手顺完整地放在脑子里。你将一次军,玉方应一次,然后将死。这意味着你真的可以把所有可能性列出来,而这正是后面一切的基础。

基本的将杀形状也会在3步诘里反复出现。最简单的是「頭金」,也就是把金打在玉的头上。假设对方的玉在5一,周围什么都没有,你的步在5三,这时在5二打金就是将死。金控制了玉能去的每一格,步又保护着金,所以玉吃不掉它。很多3步诘,就是用一步巧妙的将军,把玉逼进这样的形状。

怎么读一道3步诘

下面是我建议的顺序。一开始会觉得慢,做过几十道之后就快了。

  1. 先看玉。 玉现在能走到哪些格子?其中哪些已经被你的棋子控制?剩下的空格,就是你的将军需要封住的地方。
  2. 列出所有将军。 包括移动盘上棋子的将军,和打入持驹的将军。3步诘里通常不多。在脑子里列一遍,可以避免盯住第一眼看到的那一手。
  3. 对每一步将军,列出所有应对。 玉逃、吃子,以及用玉方手里任何棋子的合驹。初学者最常在这里出错,因为忘了玉方也能打子。
  4. 对每一种应对,找到将死。 只要有一种应对能逃掉,这步将军就是错的,换下一个候选。
  5. 也给怪手一个公平的机会。 出题人喜欢看起来不对的第一手:让玉吃掉的弃子(捨て駒),或者像是把玉赶远的将军。如果自然的将军全都不行,答案多半就在这里面。

两句老格言也有帮助。「玉は下段に落とせ」说的是把玉赶到逃路少的底线去。「玉は包むように寄せよ」说的是要像包起来一样逼近,而不是追着跑。把玉一路往上追,将杀往往就变成了逃脱。

怎么练习

动手之前先读到底。 看书时没法挪动棋子来试,这也是书有效的原因之一。在手机上,人很容易先走一步将军看看会怎样。我的建议是先把整条手顺想好,包括玉方的应对,然后再走出来验证。Shogi365 里只要是将军,对错都可以走,玉方会自动应对,所以错误的思路会在棋盘上失败。这是很有用的反馈,但前提是你走之前心里已经有了想法。

先要一点小提示,而不是整个答案。 卡住的时候,只要知道第一步动哪枚棋子,通常就能继续读下去。Shogi365 的提示会让要动的棋子和目标格子亮起来,走棋的仍然是你自己。

大量做简单的题。 3步诘的价值,大部分来自数量。你是在积累一个将杀形状的库,而这个库靠一遍遍看到同样的形状才会变大。每天做几道,比偶尔做很久更有效。

从「找」变成「看出来」时,再往上走。 当3步诘不再像是在搜索,而更像是一眼认出,就可以试试5步诘了。只多两步听起来不多,但要检查的变化会迅速增加,所以再次变慢很正常。之后的7步诘也一样。暂时退回原来的步数,是进步的一部分,不是失败。

每天一道

Shogi365 是我为这种练习做的应用。3步诘、5步诘、7步诘、9步诘各1000道,全部由应用自带的求解器生成并验证:第一步唯一,攻方每一步都唯一,没有多余的棋子。上面说的规则,包括打步诘和二步,都由棋盘来执行,所以边走就边学会了。在规定步数内没有将死就算失败,最多可以重来三次。还有全世界同一天做同一道题的每日挑战、连续记录,以及每个难度的统计。可以离线使用,不需要账号,也没有排名。应用免费,带广告,一次性购买可以去掉广告。

刚开始的话,我建议在3步诘上待得比你觉得需要的更久一些。读棋的习惯,就是在那里养成的。

在 App Store 下载