FEN文件格式

中国象棋电脑应用规范(三)
 
FEN 文件格式
 
象棋百科全书网 ( webmaster@xqbase.com )
200411月初稿, 20062月修订
  一、 FEN 的优势      FEN(Forsyth-Edwards Notation)是专门用来表示象棋局面的记录规范,在这个规范下,一个局面可以简单地用一行“ FEN格式串”来表示,而不必烦琐地说:“红帅在四路次底线,黑将在5路底线……”。由于它是文本格式的 (只牵涉到很有限的几个字母、数字和符号 ),因此网上传递棋局就非常方便,不用把棋图画在纸上或用文字笨拙地描述了,而是用棋谱编辑软件摆好局面,自动得到 FEN格式串,再贴到诸如 Web网页、 BBS、电子论坛等能够传递文字的网络应用平台上。读者面对 FEN格式传,只要借助于棋谱编辑软件,用“赋值”和“粘贴”就可以完全重现局面,使得棋谱交流快速而高效。   二、 FEN 格式串     国际象棋的 FEN格式串是由 6ASCII字符串组成的代码 (彼此 5个空格隔开 ),这 6段代码的意义依次是:    (1) 棋盘上的棋子,这是 FEN格式串的主要部分;    (2) 轮到哪一方走子;    (3) 每方及该方的王翼和后翼是否还存在“王车易位”的可能;    (4) 是否存在吃过路兵的可能,过路兵是经过哪个格子的;    (5) 最近一次吃子或者进兵后棋局进行的步数 (半回合数 ),用来判断“ 50回合自然限着”;    (6) 棋局的回合数。   中国象棋没有“王车易位”和“吃过路兵”的着法,所以 FEN格式串的这两项空缺,以最初局面为例说明:
 
rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1
     (1) 红色区域,表示棋盘布局,小写表示黑方,大写表示红方,其他规则同国际象棋的 FEN规范 (请参阅《 国际象棋译文苑》文摘—— 关于PGNFEN记谱规范()一文 )。这里要注意两点,一是中国象棋棋盘有 10行,所以要用 9个“ /”把每一行隔开;二是棋子名称用英文字母表示,国际象棋中没有的棋子是仕 ()和炮,这里分别用字母 A(a)C(c)表示。    (2) 绿色区域,表示轮到哪一方走子,“ w”表示红方,“ b”表示黑方。 (有人认为红方应该用“ r”表示,很多象棋软件确实是这样表示的。 ElephantBoard尽管用“ w”表示,但识别时采取灵活的办法,即“ b”表示黑方,除此以外都表示红方。 )    (3) 深紫色区域,空缺,始终用“ -”表示。    (4) 紫红色区域,空缺,始终用“ -”表示。    (5) 蓝色区域,表示双方没有吃子的走棋步数 (半回合数 ),通常该值达到 120就要判和 (六十回合自然限着 ),一旦形成局面的上一步是吃子,这里就标记“ 0”。 (这个参数对于普通局面的意义不大, ElephantBoard的规则处理器并不是根据这一项来判断和棋的,所以总是计为“ 0”。 )    (6) 棕色区域,表示当前的回合数,在研究中局或排局时,作为研究对象的局面,这一项可以写 1,随着局势的发展逐渐增加。   三、 FEN 文件      FEN格式串有很多载体,通常的做法是把它保存成后缀为“ .FEN”的文件。 FEN文件是 ASCII码文件,可以用任何文本编辑软件来建立和修改,也可以通过象棋棋谱软件来产生。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值