1
、
FEN
FEN
就是“福斯夫
–
爱德华兹记号法”
(Forsyth-Edwards Notation)
,这是一种使用
ASCII
码字符描述国际象棋局面的标准。
FEN
是建立在
19
世纪由报社记者
S
·
D
·福斯夫设计的记录局面的标准基础上的。后来为了适合象棋软件的需要,由爱德华兹对此做了少许修改。 一份标准的局面记号对需要大量交换共享局面数据的国际象棋程序设计等工作具有尤其重要的作用。
【译注:实际上,对于一般学棋拆棋,哪怕是娱乐,也很有用,后文将简单举例说明】
1-1 结构描述
一个
FEN
记录使用长度可不同的一行来表示,由六个区域组成。单纯的
FEN
记录文件后缀应该是“
.fen
”,比如:
kk-1.fen
。
FEN
描述了:棋子位置、轮走棋方、易位可行性、吃过路兵目标格、半步计数、以及总回合数。所有这一切用一行文字符号表示就行了而且非常容易读。 看看一个
FEN
的六个区域及其含义,先举一个谁都太熟悉了的局面的
FEN
文件:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR
w
KQkq
–
0
1
这就是每盘常规对局的最初局面,一个子都没有动。 译文以不同颜色表示了这个
FEN
中的六个不同区域,它们是:
1)
棋子位置数值区域
(Piece placement data)
红色那段
就是表示双方棋子各在棋盘哪个格子上的。规则是从第
8
横线开始顺次数到第
1
横线
(
白方在下,从上数到下
)
,从
a
线开始顺次数到
h
线;白方棋子以大写字母“
PNBRQK
”表示,黑方棋子以小写“
pnbrqk
”表示,这是英文表示法,每个字母代表的意义与常规规定相同。数字代表一个横线上的连续空格,反斜杠“
/
” 表示结束一个横线的描述。 上面的那
pppppppp
,就是表示黑方在第
7
横线上排有
8
只兵;后面那
4
个数字
8
,就是表示从第
6
到第
3
横线,双方一个棋子都不在,是空格;
7
个反斜杠“
/
”将第一区域分成
8
段,因为棋盘有
8
条横线;其它的照着图完全可以类推。
2)
轮走棋方
(Active color)
深绿色那段
表示目前局面该谁走棋。小写“
w
”表示白方走棋;小写“
b
”表示黑方走棋; 显然起初局面肯定是白先,所以上面就是“
w
” 。
3)
易位可行性
(Castling availability)
紫色那段
这表示在当前局面下每一方有没有潜在的各种王车易位的可行性
(
目前不一定行,但以后有可能行
)
。如果谁都没有,就用“
–
”表示;大写“
K
”表示白方有短易位的可行性,大写“
Q
”表示白方有长易位的可行性;对应的小写“
k
”和“
q
”代表黑方短和长易位的可行性。书写顺序必须是先大写后小写、先短易位后长易位,并且之间不能有空格。
4)
吃过路兵目标格
(En passant target square)
紫红色那段
如果没有,就用“
–
”表示。如果有,就用具体完成吃过路兵的那个格子坐标来表示,显然对于白兵被吃只可能在第
3
横线,对于黑兵被吃只可能在第
6
横线。而且,这个标记是且只是在该局面紧接的上一步棋是某方刚走兵推进两格的情况下出现。
5)
半回合计数
(Halfmove clock)
浅蓝色那段
用一个非负数表示自从上一次动兵或吃子之后目前走了的半回合数。这个是为了适应
50
步和棋规则而定。
【译注:但是在
winboard
的
FEN
输出中,这个值好象总是
0
】
6)
回合数
(Fullmove number)
棕色那段
当前要进行到的回合数。不管白还是黑,第一步时总是以
1
表示,以后黑方每走一步数字就加
1
。
1-2 举例
好了,举例说明: 假如从开局开始,走了
1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Nxd5 6. Nxf7 Kxf7 7. Qf3+
Qf6 8. Bxd5+ Be6 9. Bxc6 bxc6 10. Qxc6 Bd6 11. Nc3 Rhd8
这个写成
FEN
就是
r2r4/p1p2kpp/2Qbbq2/4p3/8/2N5/PPPP1PPP/R1B1K2R
w
KQ
–
0
12
(
图
)
|
1) 第一区域 第 8 横线 r2r4 ,全是黑子 ( 小写 ) ,从左到右依次是:黑车 r 、 2 个连续空格、黑车 r 、然后 4 个连续空格,这横线 8 个格子都说明了; 第 其它类推,要说明的是第 第 |
4)
第四区域
上一着没有兵推进两格,所以不存在吃过路兵目标格,用“
–
”表示。
5)
第五区域
WinBoard
总是输出“
0
” ……不过这个标记作用有限。
6)
第六区域
黑方已走完第
11
回合,所以现在是第
12
回合。
1-3 其它
其实,使用打谱软件比如
winboard
或
chessbase
,无论输入还是输出
FEN
记录和文件都是自动式的,很方便,了解它的规则只是为了深入一些应用或遇到问题时自己可以解决。另外,在网上之间传递棋局,不用把棋图画在纸上或用文字笨拙地描述了,不用说“王在
e1,
后在
XX
,……”等等。写成
FEN
格式,或者干脆使用
winboard
等直接输出
FEN
文件,然后发过去甚至让对方直接“粘贴
–
复制
–
再粘贴”,几秒钟对方就可以完全重现该局面。
出处:
Chess world
的
PGN Archive
译者:
michael
转自:
http://www.xqbase.com/protocol/pgnfen2.htm
转载于:https://www.cnblogs.com/yang_sq/archive/2009/12/24/1631382.html