fastapple's blog

時系列関係なく、情報を追記・分割・統合などします。ブログに記載の内容のうち、引用ではなく、私自身が記載している文章・コードなどについては、自由にご利用ください。

象棋(シャンチー)で兵(卒)が同じ筋にいくつもいるような特殊な状況での棋譜について


象棋での棋譜の書き方については、wikipedia:象棋の該当項目が参考になる(2015/2/17現在)ので、基本的なことは書かないが、特に兵(もしくは卒)については、5枚あるために、どう記載すればいいのか難しい状況が発生する。人同士の対局では滅多に発生しないことなので、正式なルールでは定められていないようである。wikipediaでは、そのような特殊な状況に関しての提案が存在するということで、以下のURLが記載されていた。しかし、以下は中国語で記載されているので、中国語の分からない人にもこの場で内容を説明したいと思う。

特殊局面下兵卒走法的中文棋谱表示方法 - 中国象棋棋谱仓库

中国象棋电脑应用规范(二):着法表示

おさらいとして、2つ同じ駒が同じ筋の前後にあるような状況では、前にある駒が動くなら、前炮平一、後ろの駒が動くなら、后炮平一(後炮平一)、のようになる。注意点としては、相や仕は同じ筋にあっても移動方向で区別がつくので、前や后を付けず、通常通り相三进一(相三進一)のように表せばよい。

但し、兵(卒)に関しては、3つ以上の駒が同じ筋に並ぶこともある。3つ並んだ場合については、上側にあるものから、前兵进一,中兵进一,后兵进一のように表せばいい。では、例えば、4つあるいは5つ同じ筋に並んだ場合はどうするか?5つ同じ筋に並んだ場合は、上側にあるものから、前兵进一,二兵进一,三兵进一,四兵进一,后兵进一などとする。もちろん(?)4つ並んでいる場合は、最後の駒は四兵进一ではなく、后兵进一である。

さて次に2つの筋に兵が2枚と3枚並んでいる場合を考えよう。図で表すと以下のような場合である。

f:id:fastapple:20150215231049p:plain

この図で、aは、前七平六,bは、中七平六,cは、后七平六,dは前四平五,eは后四平五である。もはや、兵という字が残っていないのが笑える。ところで、bの中七平六に関して言えば、中兵でも曖昧さは残らないと思うが、まあ記法の統一性のためと見ることも出来るし、特に意味は無いだろう。このようにすれば何とかどんな場合でも表せている。これは、紹介したURLのうち、特殊局面下~の方の書き方である。

次に、中国象棋~の方の書き方を見てみよう。上記の図でいうと、中国象棋~の方の書き方では、aは、一兵平六,bは、二兵平六,cは、三兵平六,dは四兵平五,eは五兵平五となる。要するに、まず1つの筋に2つ以上の兵が存在する場合、その兵を、対局者からみて左側から一、二、三、とする。さらにこの時、同じ筋にある兵が複数ある場合は、上から番号をふっていく。これが中国象棋~~の方に記載されている書き方である。ちょっとややこしいのが、例えば、既にb,cの動きが完了した以下のような局面である。

f:id:fastapple:20150217003011p:plain

上記局面の場合、aは通常通り兵七平六で、bから一兵平五と一から数え始める。つまり、2つ以上兵が存在する筋の兵しか、この数え方の対象とはしない。bが、一兵平五,cが二兵平五,dが三兵平五,eが四兵平五となる。

更に中国象棋の方では、丁寧?にも例えば後手側の卒の動きでは、普通漢数字ではなくアラビア数字を用いる(卒1平2のように)が、一卒などはそのまま漢数字で書く。と記載されている。一卒平3のように。

さて、上記のどちらがよいと思うかは好みの別れるところかと思うが、私としては、特殊局面下~のほうがわかりやすいと思った。しかしながら、どちらの記法を混ぜて使ったとしても、意味的に手がわからなくなるようなことはないので、どちらで書かれても読めるようにしていればよいと思う。