中国象棋竞技规则与程序设计探讨

中国象棋棋规复杂,很多棋例难以判定,同时程序设计也造成了许多困难。亚规程序设计简单,但很多不合理的地方。这造成了象棋推广的难度。

鉴于此,我提出了一些自己的理解。希望棋友们和程序设计员们共同研究指正。我试验了一些棋例,用下面要说的三禁三原则,能很好的进行判定,也能很好的进行程序设计。

我们首先规定:未过河的兵卒不算子,以下所有讨论均为此原则。我相信兵卒未过河不算子也是很多老一辈棋手研究的结果,肯定是有利去规则的,这里不做研究了。

一、“杀”。这个没有必要探讨,杀了,就是胜利了,棋局就结束了,不存在长杀的问题。说这个是为了程序设计判定结束和引出下面的问题。

二、“将”和“叫杀”。“叫杀”又称“要杀”等,即下步杀。“将”应该等同于“要杀”,不能长“将”,不能长“叫杀”,或者不能“将”和“叫杀”混合长打。很多棋例就是忽略了“叫杀”,觉得“叫杀”是下步的事情,要杀算做“闲”或者“捉”,都是不合理的,这是造成难以判别的根源。其实“将”和“叫杀”是一样的,都是下步把你的老将杀死,即下一步达到“一”条的“杀”。因此本条就是下步达到“一”。本条为禁止着法,即任何情况下禁止长“将”和长“叫杀”。

三、“吃”与“叫吃”或“叫抽”。有人说不是到捉了么,先别急,捉和将是一样的,将的意思是就是捉老将,因此捉子之前先有一步吃,只是吃老将棋局就结束了,吃子的话,棋局照常进行。这也方便程序判定。长吃是不存在的,但是长叫抽存在,所以自然就不能长叫抽,长叫抽就认为是长吃。这里有5条:

a. 顺序原则,一是不违反前述禁止招法的情况下,才能探讨本条内容,二是前述原则按顺序优先,“将”>“吃”>“捉”,三是如果一着同时存在多个效果,最大效果论。

b. 降级原则,不违反顺序原则的基础上,招法效果降级处理。处理后,前述招法效果等同与本条招法;如:不违反长“将”,“将”等同于“叫抽”。

c. 不变做和原则,不变做和只在同级讨论,同级不变做和,如果不同级,参考a和b。这样就解决了多打对一打的问题,不用单独规定了,比如2将对一将一捉,2将变着。又比如一将一叫抽对两叫抽,不变做和。

本条表述为,不违反顺序原则基础上,按降级原则处理后,不能长“叫抽”。

四、“捉”。“捉”就是下步“吃”。第3条说了后,相信这条就不用细说原则问题了。本条中的“捉”即是满足顺序原则情况下,降级处理完的“捉”。长捉禁止。但是本条长捉有另外一个问题,就是常捉必须是新生产的“捉”,不能算原来已经存在了的。“捉”的问题比较复杂,也是棋例最多的。子分为无根子,有根子,假根子算无根,捉无根子才算捉。那么长捉就比较复杂了:a.单对单不能长捉;b.多对单不能联合长捉c.多对多不能联合常捉,d将帅可以常捉。但是这里需要对“长”做出规定:1.有循环的捉子不能超过三个循环2明显捉不死的常捉,又没循环的,不能连续超过总子数的六倍回合数。(2条对程序设计不利,程序不知道什么是明显捉不死,但人为可以判断,这里有待研究与补充,如第七回合捉死了怎么解决的问题)。

兑和闲,不做讨论了,是允许着法。


中国象棋竞技规则与程序设计探讨


分享到:


相關文章: