中国象棋程序竞赛规则
皮卡鱼开源社区 Official-Pikafish 出版
前言
在人工智能飞速发展的大背景下,以亚洲棋规为基础的象棋对弈平台层出不穷。然而,亚洲棋规(现世界规则)因其措辞含糊,文字表达充满歧义,甚至出现矛盾,导致不同平台和不同引擎在处理边界情况时裁决各异,使得象棋难以实现规则的统一。
针对此现状,皮卡鱼开源社区着手程序化实现程序棋规,并致力于用自然语言描述程序逻辑,旨在规范化象棋程序竞赛及象棋引擎和平台的开发流程。
2022年8月,皮卡鱼象棋引擎的开发工作正式启动,同年8月28日发布了首个版本。后续版本中,经过各开源社区中成员的共同努力的讨论、反馈与调整,到2023年6月,皮卡鱼的规则已日渐成熟。
今天,皮卡鱼开源社区正式将这些成熟的规则以书面形式呈现,作为程序竞赛规则的基石,期待不断发展与完善,推动象棋引擎开发和引擎规则的规范化与升华。《象棋程序竞赛规则》不仅将成为象棋程序竞赛的标准,更有望成为象棋通用规则。
本规则是在世界象棋联合会《世界象棋规则》(旧亚洲象棋联合会《象棋竞赛规例》,俗称亚规)的基础上的深入完善与阐释。皮卡鱼开源社区主办的所有竞赛,均将遵循本规则执行。
修订日期:2023 年 11 月 22 日
第一章 行棋
第一节:棋盘与棋子
棋盘由九条竖线和十条横线相交组成,棋盘上共有九十个交叉点,棋子只能摆放和活动在交叉点上。棋盘内竖线中断所形成的长方形空间,称作河界;棋盘内因斜线而形成的米字形区域,称作九宫,每个九宫有九个交叉点;棋盘上存在有十四个交叉点被四个不同朝向的L形包住,这些交叉点用于在象棋起始局面摆放炮和兵(卒)。
棋子共有三十二个,分为红黑两组,每组十六个,有七类棋子。每类棋子走法完全相同,但同类棋子因所属红黑方可能导致名称不同。其标准名称和数目如下:
红棋子:帅一个,车、马、炮、士、相各两个,兵五个。
黑棋子:将一个,车、马、炮(砲)、士、象各两个,卒五个。
上述红黑每类棋子按顺序一一对应,例如帅和将是一类,相与象是一类,兵与卒是一类。
棋子可简称子;棋子也可采用繁体字或异体字。
对局开始前,双方棋子在棋盘上的摆法见下图:
第二节:棋子走法
- 帅(将) 沿着横线或竖线走一格;且帅(将)不能出九宫。
- 士沿着斜线走一格;且士不能出九宫。
- 相(象) 斜走两格。但不能越过路径上的其他棋子,换言之,第一格存在其他棋子时则不能走过去,俗称塞象眼;且相(象)不能越过河界。
- 车沿着横线或竖线走至少一格,距离不限。但不能越过路径上的其他棋子。
- 马先沿着横线或竖线走一格,然后沿着相同的方向斜走一格。但不能越过路径上的其他棋子,换言之,直走的一格存在其他棋子时不能走过去,俗称蹩(别/绊)马腿(脚)。
- 炮的移动方式与车相同;但如果要吃子,其须越过路径上的另一个棋子(被越过的棋子俗称炮架)。
- 兵(卒) 未越过河界时,沿着竖线向前走一格;越过河界后,增加一种走法:沿着横线走一格(分别俗称未过河兵/卒、过河兵/卒)。
- 按上述棋子走法行动,这个行为称作走子;走子一次,称作走一着或走一步;走一着后,这着称作着法。
- 走子时,若己方棋子走到的目标点有对方棋子在,则占据该位置并且把该对方棋子移出棋盘,这个过程称作吃子;若该目标点有己方棋子,则不能吃。除帅(将)外,其它棋子均可被对方吃掉。
- 帅和将在同一条竖线时,在这条竖线上,帅和将的中间必须要有其他棋子(俗称将帅不能对脸)。
- 一方走子后,造成了其棋子攻击对方的帅(将),这着棋称作将军或叫将(简称将);被将军的一方须使己方帅(将)脱离被攻击的状态,称作应将。
- 走子不符合棋子走法(如棋子走法不正确、走对方的棋子等)、走子后形成帅和将对脸、把己方帅(将)置于对方棋子的攻击下、被将军后没有应将,这些着法均称非法着法。不是非法着法的着法均称作合法着法。
第三节:对局规定
- 对局开始后,双方互相交替地走一次子,若是象棋起始局面,由红方先走;若指定开局书为开局,根据局面的fen决定哪方先手。
- 每次走子时,只能且必须选择走一个己方棋子。
第四节:终局
胜、负的判决
对局时出现下列情况之一,棋局结束,判决一方胜且另一方负:
甲方走子后造成将军,且当前局面下对方任何着法均不可能应将,则乙方被将死判负。
甲方走子后没有造成将军,且当前局面下对方没有任何合法着法,则乙方被困毙判负。
出现循环局面序列,序列中甲方的违规等级高于乙方,则甲方被判负。
一方超时,则超时方被判负。
违反本规则中的其他规定(如输出非法着法、违反引擎参赛要求等),将被判负。
主办方可能的额外判负规定。
仅在玩家对战中,一方认输,该方被判负。
和棋的判决
对局时出现下列情况之一,棋局结束,双方判为和棋:
棋局已不存在车、马、炮、兵,也即棋局中双方均只剩下将、士、象。
出现循环局面序列,序列中双方的违规等级相同。
符合自然限着。
主办方可能的额外判和规定。
仅在玩家对战中,一方提议作和且对方表示同意。
第五节:自然限着
简称限着,也称限招、限步。
棋局中连续的不吃子着法称作未吃子步,从未吃子的第一步开始计算未吃子步数。未吃子步数达到120步时,棋局判为和棋。
在一段未吃子步内,每方的将军最多计入十步 ,一方超过十次的将军不计入未吃子步数,因该将军导致的对手应将也不计入未吃子步数。当棋局出现吃子后,未吃子步数与其将军计数均变为0。
但是,未吃子步到达第120步后却同时触发以下情况,限着规则失效:
出现将死或困毙,判被将死或被困毙一方负。
出现三局面循环,按局面循环规则判决。
注:本规则之自然限着规则,未吃子步数基于习惯的120步,将军计数规定实现程序化并加深该规定本意。
第二章 程序竞赛通则
第一节:引擎竞赛参赛要求
- 引擎须严格遵守竞赛规则,不得携带恶意代码,如病毒、木马等,以保证竞赛的公平性和参赛系统的安全。
- 引擎须实现UCI象棋引擎通讯协议,确保与主办方的棋盘软件能够有效通信。
- 如引擎支持多种指令集,可提交多个版本。竞赛时,将根据主办方机器支持的最快指令集运行对应的引擎版本。
- 引擎在对局过程中不得进行任何形式的外部通信或接受外部指令,确保竞赛的独立性和公正性。
- 引擎不得包含侵犯知识产权的代码,确保所有参赛引擎的原创性和合法性。
- 严禁引擎在竞赛过程中进行任何形式的干扰或破坏对手引擎的行为。
- 如引擎在竞赛过程中出现崩溃或其他异常行为,将视情况采取相应的处理措施,包括但不限于判负。
- 如发现引擎存在作弊行为,如预设走法、参考外部数据库等,将立即取消其竞赛资格。
- 主办方有权在竞赛前对所有参赛引擎进行审查,以确保其符合竞赛要求和规则。
- 引擎的开发者或团队应遵守竞赛的所有规定,包括但不限于参赛引擎的提交截止日期、引擎规则应与本规则中的“行棋”章节和“局面循环规则”章节保持一致等。
第二节:竞赛图形界面要求
- 图形界面(下称界面)不得包含任何有可能影响竞赛公正的代码。
- 界面应能够在网络环境不稳定时保持稳定运行,确保比赛的连续性。
- 界面的行棋规则与局面循环规则不应与《程序竞赛规则》产生任何分歧。
- 界面显示的虚拟棋盘和虚拟棋子应便于观赏,颜色协调,比例合理。布局为红方在下,黑方在上。
- 界面须至少显示双方引擎的名称、剩余用时,以及引擎输出的分数、用时、NPS、PV等信息。
- 界面应支持多种语言,以便国际参赛者和观众更好地理解和跟随比赛。
第三节:竞赛主办方须知
- 主办方在竞赛过程中须公正透明,并直播在图形界面中的竞赛。
- 主办方应在竞赛前提供详尽的技术支持文档,帮助参赛者理解并满足所有技术要求。
- 主办方须确保比赛环境的网络安全和数据保密,防止任何形式的数据泄露或未经授权的访问。
- 主办方应提供紧急情况应对计划,包括但不限于硬件故障、软件崩溃、网络攻击等情况的处理流程。
- 主办方应在比赛期间提供实时的技术支持,以应对可能出现的技术问题。
- 主办方应确保比赛的公正性,对所有参赛者提供相同的资源和条件。
第四节:开局书与fen
- 开局书,即仅有fen的文件。
- fen,即为局面码,fen中至少要包含局面中尚存的棋子位置、局面当前的走子方信息(w或b)。且须为UCI协议的fen。
- 引擎竞赛中,应使用开局书使得引擎更全面地表现棋力水平。
- 较正式的竞赛中,其开局书中的局面,应是象棋起始局面经过少量走子步数所形成的局面。
- 使用开局书竞赛时,应保证双方引擎分先。
- 也可使用开局库代替开局书功能,但要清晰区分库着和引擎输出着法。
第五节:对局用时
- 加秒制 例如每方局时20分钟,每走一步加5秒己方局时;局时用完即被判负。
- 包干制 例如每方局时20分钟;局时用完即被判负。
- 固定步时制 例如每方每步10秒钟,超过步时即被判负。
主办方可自行视需要,而决定用时和超时宽限、另外规定用时制度等。
第六节:棋谱记录
引擎竞赛使用的图形界面应记录着法,然后导出棋谱文件(建议PGN格式),也可另外记录部分信息,如引擎输出、界面判定的引擎实际用时等。
棋谱文件信息须较为完整,至少应有比赛名称、红黑方引擎名称、比赛时间、棋局结果、棋局开始fen、棋局着法。
传统棋谱和PGN格式棋谱的记录方法统一如下:
每一着棋可用四个字来表明,例如:炮二平五,马八进七。
第一个字是移动的棋子名称;如车或兵等。
第二个字是该棋子所在竖线的序号;记录红黑着法时,竖线序号要分别从红黑方自己的视角从右往左数,并且红方用中文数字,黑方用阿拉伯数字。 例如红方最右边的竖线,记录红方着法时是一,但相同的这条竖线记录黑方着法时是9。(竖线又俗称路,例如一路、9路等。)
第三个字是该棋子移动的方向;分别从红黑方自己的视角记录,往对手方向接近为进,接近自己方向为退,而沿横线走为平。
第四个字,若该棋子沿横线走或该棋子是马、士、相(象),则记录目标点处的竖线序号;若是沿竖线移动,则记录移动了几格的距离。
如在同一条竖线上有己方两个同类棋子且不是士或相(象),在记录着法时,第一个字用前、后来代替,红黑方分别从自己的视角记录,更接近自己方向的为后,接近对手方向的为前;第二个字表示移动的棋子名称。如:前炮平五、后马进八、前车进二等。
若有二个以上的一方兵(卒)在同一竖线(以下的兵均包含卒,下略)
若同一竖线有三个一方兵。则中间的兵称作中兵,来代替第一、二个字。如:中兵平五等。
若两条竖线的一方兵数量各≥2(即同时存在两个前兵和两个后兵)。则第一个字变为前、中、后之一。如:前三平四、中四平五等。
若同一竖线有一方的四或五个兵。最前方和最后方的兵仍然称作前兵和后兵,从前兵为第一个兵开始往后数,第二个兵称作二兵、第三个兵称作三兵、第四个兵称作四兵(若是有5个兵在同一竖线),来代替第一、二个字。
参考下图,轮到红方走子:
红把最后面的兵横走到中线,记法为:后兵平五;
红把中间的兵横走到中线,记法为:三兵平五。
第三章 局面循环规则
第一节:术语定义
局面循环规则的相关术语,简释如下:
三局面循环 一局棋中,同一局面(所有棋子摆放位置以及局面当前的走子方相同)出现第三次后,称三局面循环。
循环局面序列 出现三局面循环时,同一局面第一次出现到第三次出现之间的所有局面形成的闭区间(包含三个同一 局面),称作循环局面序列。
攻击 考虑甲方攻击时,立即给予甲方走一步的机会,甲方当前局面下所有合法的吃子走法,称作甲方对乙方形成的“攻击”,对于每一个攻击:
攻击子指的是从甲方发起攻击的棋子,即执行吃子走法的起始点处的棋子。
被攻击子指的是乙方受到攻击的棋子,即吃子走法的目标点处被吃的棋子。
将 甲方走子后,甲方的所有攻击中存在一个或多个攻击的被攻击子是乙方帅(将)者,称作甲方将军,简称将。
捉 循环局面序列的性质之一。在循环局面序列中不存在任何一步将军走法时,甲方走子后,对于甲方不属于以下四种情况的每一个攻击,称其中的攻击子捉被攻击子:
攻击子吃掉被攻击子后,该攻击子处于乙方的攻击之中。但以下两种情况除外:
攻击子是马或炮且被攻击子是车。
攻击子是士或象且被攻击子是马或炮或车。
攻击子是帅(将)或兵(卒)。
被攻击子是未过河兵(卒)。
攻击子与被攻击子同类,且该攻击子也在该被攻击子的攻击之中。
闲着 甲方走子后,该着法的性质不属于将或捉。简称闲。
逃捉 甲方走子让其某一个子从被一个或多个乙方子捉转变为不被任何一个乙方子捉,称甲方该子逃捉。
牵制 若把甲方非帅(将)的棋子A从棋盘内移出后,乙方的棋子B可对甲方的帅(将)形成攻击,称作A子被B子牵制。
长将 循环局面序列的性质之一。在循环局面序列中,甲方每一步棋均为将军,称作甲方长将乙方,或称甲方长将。
长捉 循环局面序列的性质之一。在循环局面序列中,存在某个乙方棋子,甲方每一步棋均捉该子,乙方每一步棋均使该子逃捉,称作甲方长捉乙方该子,或称甲方长捉。
允许循环 循环局面序列的性质之一。在循环局面序列中,甲方的走法序列既不是长将也不是长捉,称作甲方是允许循环。
第二节:循环局面序列的判决
出现三局面循环时,棋局结束,并判决循环局面序列内双方的性质。
判决循环局面序列内的双方性质时,循环局面序列以外的局面和着法和判决无关,判决只看循环局面序列。
判决时,循环局面序列视为头尾相连,每个局面均由走子而形成。
定义性质的违规等级(从高到低):
长将(2);
长捉(1);
允许循环(0,即不可能被判负)。
第三节:棋例
以下棋例除例15、例16外,均仅为循环局面序列,即图中局面随着着法进行还会出现两次(总共三次)。
以下所述“长捉”若无特殊说明,均为违规等级1;引用条款时,默认为本章节第一节的条款。
为表述方便,所有序列均视为从第一回合开始。
为了简洁,对大多局面的子力做了简化,勿在意局面和着法是否合理,这不在局面循环棋规的范畴内。
本局面循环规则部分不同于《世界象棋规则》中图例的判决,并将循环的判决时机统一为简洁的同一局面出现第三次时。
特别感谢:afkbad、Fabian Fichter、nguyenpham、noobpwnftw 等网友对局面循环规则的讨论和启发。
例1
- 4k4/9/2c2an2/4c4/6R2/9/9/4B4/4A4/3K1AB2 w moves g5e5 f7e8 e5g5 e8f7 g5e5 f7e8 e5g5 e8f7
车三平五 士6退5
车五平三 士5进6
车三平五 士6退5
车五平三 士5进6
双方均是允许循环。判和。
注:尽管红方车三平五捉炮和车五平三捉马,黑方也每步使被捉子逃捉,但不满足长捉的定义存在某个乙方棋子,甲方每一步棋均捉该子,所以红方是允许循环。
例2
- 3ak1b2/4a4/4b3r/4C4/5R3/9/9/9/9/4KA3 w moves f5g5 e9f9 g5f5 f9e9 f5g5 e9f9 g5f5 f9e9
车四平三 将5平6
车三平四 将6平5
车四平三 将5平6
车三平四 将6平5
双方均是允许循环。判和。
注:红方不是长将也不是长捉。至于其他的概念诸如杀等,不存在于该规则中。
例3
- 2ba1k1r1/4a4/4b4/9/9/9/7c1/1R7/9/4K2R1 w moves b2b3 h3h2 b3b2 h2h3 b2b3 h3h2 b3b2 h2h3
车八进一 炮8进1
车八退一 炮8退1
车八进一 炮8进1
车八退一 炮8退1
双方均是允许循环。判和。
注:红每步棋均没有捉子,红双车对炮的攻击,属于攻击子吃掉被攻击子后,该攻击子处于乙方的攻击之中,不管哪个红车吃掉炮后,吃炮的车均处于黑车的攻击之中,所以红车不是捉黑炮。
例4
- 4k3c/9/4bn2n/8c/6R2/6P2/9/9/9/3K5 w moves g5i5 i6f6 i5g5 f6i6 g5i5 i6f6 i5g5 f6i6
车三平一 前炮平6
车一平三 炮6平9
车三平一 前炮平6
车一平三 炮6平9
红方是允许循环,黑方长捉。黑方被判负。(黑长捉红车)
注:黑的炮6平9使黑6路马与黑象捉红车,尽管6路马或黑象吃掉红车后处于红兵的攻击之中,但是马或炮攻击车以及士或象攻击车的情况是除外的,所以炮6平9这步仍是捉车。
例5
- 5k3/9/9/p1CcC4/c8/9/9/9/9/4K4 w moves c6c5 d6d5 c5c6 d5d6 c6c5 d6d5 c5c6 d5d6
炮七退一 炮4进1
炮七进一 炮4退1
炮七退一 炮4进1
炮七进一 炮4退1
双方均是允许循环。判和。
注:红五路炮对黑卒的攻击,属于被攻击子是未过河兵(卒),所以不是捉。
例6
- 5k3/9/9/9/9/3C5/9/4B4/3K5/2p6 w moves d1e1 c0d0 e1d1 d0c0 d1e1 c0d0 e1d1 d0c0
帅六平五 卒3平4
帅五平六 卒4平3
帅六平五 卒3平4
帅五平六 卒4平3
红方长捉,黑方是允许循环。红方被判负。(红长捉卒)
注:帅六平五是使相捉卒,帅五平六是使炮捉卒;另外帅不可能捉卒,因为攻击子是帅(将)或兵(卒)。
例7
- 3a1kb2/4a4/4r3b/7c1/9/9/9/8R/7CC/3K5 w moves i2h2 h6i6 h2i2 i6h6 i2h2 h6i6 h2i2 i6h6
车一平二 炮8平9
车二平一 炮9平8
车一平二 炮8平9
车二平一 炮9平8
红方长捉,黑方是允许循环。红方被判负。(红长捉黑炮)
注:红每步使红车捉黑炮。至于红炮对黑炮的攻击属于5.D“攻击子与被攻击子同类,且该攻击子也在该被攻击子的攻击之中”,所以红炮没有捉黑炮。
例8
- 4kr3/4c4/7R1/4P4/9/9/4C4/9/9/4K4 w moves h7h8 e8e7 h8h7 e7e8 h7h8 e8e7 h8h7 e7e8
车二进一 炮5进1
车二退一 炮5退1
车二进一 炮5进1
车二退一 炮5退1
红方长捉,黑方是允许循环。红方被判负。(红长捉黑炮)
注:黑方每步均使黑炮逃捉,红每步均使红车捉黑炮。至于红炮对黑炮的攻击属于攻击子与被攻击子同类,且该攻击子也在该被攻击子的攻击之中,炮与炮同类,序列中红炮均在黑炮的攻击之中,所以红炮没有捉黑炮;而红兵对黑炮的攻击属于攻击子是帅(将)或兵(卒),所以红兵不可能捉黑炮。
例9
- 2b1k4/9/4b4/4r3p/P5R1c/9/9/4C4/4K4/9 w moves g5g6 e6e5 g6g5 e5e6 g5g6 e6e5 g6g5 e5e6
车三进一 车5进1
车三退一 车5退1
车三进一 车5进1
车三退一 车5退1
红方长捉,黑方是允许循环。红方被判负。(红长捉黑车)
注:红每步捉黑车,尽管红车和黑车是同类但红车不在黑车的攻击之中,且车三退一后红车也不在黑象的攻击中,因为攻击必须是合法的吃子着法,黑车和黑象均被牵制不能合法吃红车,所以红车对黑车的攻击不属于攻击子与被攻击子同类,且该攻击子也在该被攻击子的攻击之中,红车是捉黑车。另外车5退1没有捉,因为黑炮对红兵的攻击属于攻击子吃掉被攻击子后,该攻击子处于乙方的攻击之中。
例10
- 9/3rkr3/2c1ca3/9/9/9/9/9/4A4/3KC4 w moves e1d2 e7d7 d2e1 d7e7 e1d2 e7d7 d2e1 d7e7
仕五进六 炮5平4
仕六退五 炮4平5
仕五进六 炮5平4
仕六退五 炮4平5
红方长将,黑方长将。判和。
例11
- 4k4/9/9/9/4C4/9/4r4/4C4/9/4K1B2 w moves e5f5 e3f3 f5e5 f3e3 e5f5 e3f3 f5e5 f3e3
前炮平四 车5平6
炮四平五 车6平5
前炮平四 车5平6
炮四平五 车6平5
红方长将,黑方允许循环。红方被判负。(由于循环局面序列存在将军,因此双方均不存在捉)
例12
- 3k5/2R6/9/9/9/9/9/9/6r2/4K1N2 w moves c8c9 d9d8 c9c8 d8d9 c8c9 d9d8 c9c8 d8d9
车七进一 将4进1
车七退一 将4退1
车七进一 将4进1
车七退一 将4退1
红方长将,黑方允许循环。红方被判负。(由于循环局面序列存在将军,因此双方均不存在捉)
例13
- 5k3/9/9/9/9/9/9/9/2p6/3KR1Bc1 w moves e0f0 f9e9 f0e0 e9f9 e0f0 f9e9 f0e0 e9f9
车五平四 将6平5
车四平五 将5平6
车五平四 将6平5
车四平五 将5平6
红方长将,黑方是允许循环。红方被判负。
注:红显然长将,循环局面序列的性质判定与其他任何规则没提及的因素均无关。
例14
- 3a1kb2/4a4/8b/9/4n4/2R6/9/4B4/9/4K4 w moves c4c5 e5d3 c5d5 d3b4 d5d4 b4c6 d4c4 c6e5 c4c5 e5d3 c5d5 d3b4 d5d4 b4c6 d4c4 c6e5
车七进一 马5进4
车七平六 马4退2
车六退一 马2退3
车六平七 马3进5
车七进一 马5进4
车七平六 马4退2
车六退一 马2退3
车六平七 马3进5
红方长捉,黑方长捉。判和。(红长捉黑马,黑长捉红车)
注:马3进5后,虽然红车被相保护,但马或炮攻击车的情况除外,所以马3进5仍然是捉。
例15
- 3a1kb2/4a4/8b/9/4n4/2R6/9/4B4/9/4K4 w moves c4c5 e5d3 c5d5 d3b4 d5d4 b4c6 d4c4 c6e5 c4c5 e5d3 c5c3 d3e5 c3c5
车七进一 马5进4
车七平六 马4退2
车六退一 马2退3
车六平七 马3进5
车七进一 马5进4
车七退二 马4退5
车七进二
红方长捉,黑方是允许循环。红方被判负。(红长捉黑马)
注:该例与例14起始局面一致,着法不一致。第一回合车七进一后形成的局面共出现了三次,所以产生了循环局面序列,序列是从车七进一后的局面开始算起,而不是从该起始局面开始算起,序列应从“1. 马5进4......”开始;该序列中黑马4退5 使该马逃捉,但没有捉车,所以黑是允许循环。
例16
- 6R2/4k4/9/4r4/9/9/5p3/5A3/5K3/9 w moves g9g8 e8e9 g8f8 f3g3 f8g8 g3f3 g8g9 e9e8 g9g8 e8e9
车三退一 将5退1
车三平四 卒6平7
车四平三 卒7平6
车三进一 将5进1
车三退一 将5退1
双方均是允许循环。判和。
注:第一回合将5退1后形成的局面出现了三次,所以该序列应从“2 .车三平四.....”开始。
例17
- 9/2N1k4/9/2r6/2b6/4C4/9/4B4/9/5K3 w moves e4c4 c5e7 c8a7 c6a6 c4e4 e7c5 a7c8 a6c6 e4c4 c5e7 c8a7 c6a6 c4e4 e7c5 a7c8 a6c6
炮五平七 象3退5
马七退九 车3平1
炮七平五 象5进3
马九进七 车1平3
炮五平七 象3退5
马七退九 车3平1
炮七平五 象5进3
马九进七 车1平3
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例18
- 4k4/9/4n4/1c2N1c2/4N4/6P2/9/9/9/4K4 w moves e6g5 e7c6 g5e6 c6e7 e6g5 e7c6 g5e6 c6e7
前马退三 马5进3
马三进五 马3退5
前马退三 马5进3
马三进五 马3退5
红方长捉,黑方是允许循环。红方被判负。(红长捉黑7路炮)
注:前马退三使后马捉黑7路炮,因黑7路炮不受黑2路炮和黑马的保护(黑马被对脸牵制),并且使前马逃捉;马5进3使7路炮逃捉,且使黑马捉红的骑河马;马三进五使后马捉黑7路炮,但未使红骑河马逃捉;马3退5后黑子没捉子,且使7路炮受到黑马和黑炮的保护,是使7路炮逃捉。所以黑每步使7路炮逃捉,红每步均使后马捉该炮,红是长捉。
例19
- 4k4/9/4n4/1c2N1r2/4N4/6P2/9/9/9/4K4 w moves e6g5 e7c6 g5e6 c6e7 e6g5 e7c6 g5e6 c6e7
前马退三 马5进3
马三进五 马3退5
前马退三 马5进3
马三进五 马3退5
双方均是允许循环。判和。
注:该例是将例18中的黑7路炮换成黑车。该例中马3退5黑未使黑车逃捉,换言之马3退5后,还存在红后马捉黑车(对马或炮攻击车的情况除外),而前马退三尽管让黑车不受黑炮和黑马的保护,但由于黑车没有每步逃捉,所以双方均不是长捉。
例20
- 2R6/4k4/4b4/9/2b6/4r4/9/3K1A3/5C3/9 w moves f1e1 e8f8 e1f1 f8e8 f1e1 e8f8 e1f1 f8e8
炮四平五 将5平6
炮五平四 将6平5
炮四平五 将5平6
炮五平四 将6平5
双方均是允许循环。判和。
注:炮五平四是将,不满足捉定义的前提不存在任何一步将军走法,所以炮五平四未使红车捉黑3路象。
例21
- 3k2b2/4a4/3ab4/9/9/9/9/3N5/7R1/c1c1K4 w moves e0e1 c0c1 e1e0 c1c0 e0e1 c0c1 e1e0 c1c0
帅五进一 炮3退1
帅五退一 炮3进1
帅五进一 炮3退1
帅五退一 炮3进1
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例22
- 3k5/9/9/9/5r3/9/4n4/9/4AC3/3A1K3 w moves f1f2 e3d1 f2f1 d1e3 f1f2 e3d1 f2f1 d1e3
炮四进一 马5进4
炮四退一 马4退5
炮四进一 马5进4
炮四退一 马4退5
红方是允许循环,黑方长捉。黑方被判负。(黑长捉红四路炮)
例23
- 5k3/9/9/2N6/9/1N7/9/4BC3/9/cr1RK4 w moves b4c2 b0c0 c2b4 c0b0 b4c2 b0c0 c2b4 c0b0
马八退七 车2平3
后马进八 车3平2
马八退七 车2平3
后马进八 车3平2
红方是允许循环,黑方长捉。黑方被判负。(黑长捉红后马)
注:黑车对红后马的攻击不属于攻击子吃掉被攻击子后,该攻击子处于乙方的攻击之中,因为黑车吃掉红后马后对红形成了将军,红在不应将的情况下直接吃黑车属于非法着法,故根据攻击的定义,黑车吃掉红后马后不在红的攻击之中,所以是捉。
例24
- 5k3/9/9/9/9/4c4/3r5/3NB4/4A4/4K4 w moves e0d0 e4d4 d0e0 d4e4 e0d0 e4d4 d0e0 d4e4
帅五平六 炮5平4
帅六平五 炮4平5
帅五平六 炮5平4
帅六平五 炮4平5
红方是允许循环,黑方长捉。黑方被判负。(黑长捉红马)
例25
- 3k5/9/9/9/9/9/9/9/1cr2Rn2/3AK4 w moves d0e1 c1c0 e1d0 c0c1 d0e1 c1c0 e1d0 c0c1
仕六进五 车3进1
仕五退六 车3退1
仕六进五 车3进1
仕五退六 车3退1
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例26
- 3k5/9/9/9/9/9/9/9/1cr2Rn2/3AK4 w moves d0e1 c1c2 e1d0 c2c1 d0e1 c1c2 e1d0 c2c1
仕六进五 车3退1
仕五退六 车3进1
仕六进五 车3退1
仕五退六 车3进1
红方长捉,黑方长捉。判和。(红长捉黑马,黑长捉红车)
注:该例和例25不同的是黑没有将军。车3退1使黑炮和黑车捉红车,且红每步均使该车逃捉。
例27
- 3k5/9/9/9/9/9/9/9/1cr3Rn1/3AK4 w moves d0e1 c1c2 e1d0 c2c1 d0e1 c1c2 e1d0 c2c1
仕六进五 车3退1
仕五退六 车3进1
仕六进五 车3退1
仕五退六 车3进1
红方长捉,黑方长捉。判和。(红长捉黑马,黑长捉红车)
注:该例和例26不同的是红车未被黑马牵制。
例28
- 3k5/9/3a5/2C6/2r6/2C6/2r6/5A3/9/5K3 w moves c4d4 c5d5 d4c4 d5c5 c4d4 c5d5 d4c4 d5c5
后炮平六 后车平4
炮六平七 车4平3
后炮平六 后车平4
炮六平七 车4平3
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
注:后炮平六是将,循环局面序列中存在将军步,故不可能存在捉。
例29
- 3k5/9/3a5/2C6/2r6/2C6/2r6/5A3/9/5K3 w moves c4e4 c5e5 e4c4 e5c5 c4e4 c5e5 e4c4 e5c5
后炮平五 后车平5
炮五平七 车5平3
后炮平五 后车平5
炮五平七 车5平3
红方长捉,黑方是允许循环。红方被判负。(红长捉黑前车)
注:该例和例28不同的是红没有将军。后炮平五未使七路炮逃捉(七路炮仍处于黑攻击下),并且使七路炮捉黑前车。红每步使前炮捉黑前车,黑每步使该车逃捉,所以红是长捉。
例30
- 3k5/9/3a5/2C6/2r6/2C6/2r6/2N2A3/9/5K3 w moves c4e4 c5e5 e4c4 e5c5 c4e4 c5e5 e4c4 e5c5
后炮平五 后车平5
炮五平七 车5平3
后炮平五 后车平5
炮五平七 车5平3
红方长捉,黑方长捉。判和。(红长捉黑车,黑长捉红马)
注:该例和例29不同的是多了一个红马。后炮平五虽然未使红前炮逃捉,但使红马逃捉。黑每步均使前车捉红马,红每步均使该马逃捉,所以黑是长捉。
例31
- 3r5/4ck3/3R5/9/9/9/3cR4/9/4A4/4KA3 w moves e0d0 e8d8 d0e0 d8e8 e0d0 e8d8 d0e0 d8e8
帅五平六 炮5平4
帅六平五 后炮平5
帅五平六 炮5平4
帅六平五 后炮平5
红方长捉,黑方是允许循环。红方被判负。(红长捉黑前炮)
注:帅五平六使红五路车解除被牵制的状态而捉黑4路炮;炮5平4后红的六路车被牵制无法攻击前4路炮,而五路车若吃该炮会处于后4路炮的攻击下,所以黑前4路炮不被任何子捉,炮5平4是使该炮逃捉;帅六平五使六路车捉黑前4路炮;后炮平5使4路炮逃捉,因为五路车被牵制,而六路车若吃该炮会处于黑车的攻击下;所以红是长捉。
例32
- rCRak4/4a4/9/9/9/4p4/9/9/9/4K4 w moves e0d0 e4d4 d0e0 d4e4 e0d0 e4d4 d0e0 d4e4
帅五平六 卒5平4
帅六平五 卒4平5
帅五平六 卒5平4
帅六平五 卒4平5
红方长捉,黑方是允许循环。红方被判负。(红长捉黑4路士)
注:帅五平六使红车捉黑4路士,因为给予红走一步的机会该车可以吃士且吃士后不处于黑的攻击下(虽然红已经将死黑方,但规则不考虑这个,只考虑黑没有合法吃掉红车的着法)。帅六平五使红炮捉黑4路士,因为给予红走一步的机会该炮可以吃士且吃士后不处于黑的攻击下,至于导致黑车可以吃红车的情况不考虑,因为本规则没提及。
例33
- 5k3/9/9/9/9/9/9/4p4/4A4/3K1ABc1 w moves d0d1 h0h1 d1d0 h1h0 d0d1 h0h1 d1d0 h1h0
帅六进一 炮8退1
帅六退一 炮8进1
帅六进一 炮8退1
帅六退一 炮8进1
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例34
- 4ka3/4a4/5R3/2r6/2r6/9/3R5/9/9/2p2K3 w moves d3e3 e9d9 e3d3 d9e9 d3e3 e9d9 e3d3 d9e9
车六平五 将5平4
车五平六 将4平5
车六平五 将5平4
车五平六 将4平5
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例35
- 1CRck4/4a4/9/9/9/9/9/9/3CA4/5K3 w moves e1d2 e8d7 d2e1 d7e8 e1d2 e8d7 d2e1 d7e8
仕五进六 士5进4
仕六退五 士4退5
仕五进六 士5进4
仕六退五 士4退5
双方均是允许循环。判和。
注:士5进4未使黑底士逃捉,因为士5进4后存在红炮对黑炮的捉。
例36
- 4k4/3P5/9/9/3c5/4C4/3c5/9/9/3K5 w moves e4d4 d5e5 d4e4 e5d5 e4d4 d5e5 d4e4 e5d5
炮五平六 后炮平5
炮六平五 炮5平4
炮五平六 后炮平5
炮六平五 炮5平4
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例37
- 3a1a3/2R6/3k5/3r5/3N5/9/9/9/4A4/4KA3 w moves d5f4 d6f6 f4d5 f6d6 c8c7 d7d8 c7c8 d8d7
马六退四 车4平6
马四进六 车6平4
车七退一 将4退1
车七进一 将4进
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
注:该例起始局面共出现三次,对该序列进行判决。
例38
- 4k4/9/9/9/9/9/7n1/4B4/3rAR3/4KA3 w moves f1f3 h3g1 f3f1 g1h3 f1h1 h3f2 h1f1 f2h3
车四进二 马8进7
车四退二 马7退8
车四平二 马8进6
车二平四 马6退8
双方均是允许循环。判和。(由于循环局面序列存在将军,因此双方均不存在捉)
例39
- 3ak4/c2R1R2c/4b4/9/9/9/9/9/9/4K4 w moves f8f6 d9e8 f6f8 e8d9 f8f6 d9e8 f6f8 e8d9
车四退二 士4进5
车四进二 士5退4
车四退二 士4进5
车四进二 士5退4
红方长捉,黑方长捉。判和。(红长捉黑双炮,黑长捉红六路车)
注:车四退二使双车均逃捉,且使六路车捉黑双炮;士4进5使双炮逃捉,且使9路炮捉红六路车;车四进二使六路车逃捉,且使双车分别捉黑双炮;士5退4使黑双炮逃捉,且使双炮分别捉红双车。