中國象棋電腦應用規範(三)
fen
檔案格式
象棋百科全書網
)2023年
11月初稿,
2023年
2月修訂
一、
fen
的優勢
fen(forsyth-edwards notation)是專門用來表示象棋局面的記錄規範,在這個規範下,乙個局面可以簡單地用一行「
fen格式串」來表示,而不必煩瑣地說:「紅帥在四路次底線,黑將在5路底線……」。由於它是文字格式的
(只牽涉到很有限的幾個字母、數字和符號
),因此網上傳遞棋局就非常方便,不用把棋圖畫在紙上或用文字笨拙地描述了,而是用棋譜編輯軟體擺好局面,自動得到
fen格式串,再貼到諸如
web網頁、
bbs、電子論壇等能夠傳遞文字的網路應用平台上。讀者面對
fen格式傳,只要借助於棋譜編輯軟體,用「賦值」和「貼上」就可以完全重現局面,使得棋譜交流快速而高效。
二、
fen
格式串
西洋棋的
fen格式串是由
6段ascii字串組成的**
(彼此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規範
(請參閱《
西洋棋譯文苑》文摘——
關於pgn和fen記譜規範(下)
一文 )。這裡要注意兩點,一是中國象棋棋盤有
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碼檔案,可以用任何文字編輯軟體來建立和修改,也可以通過象棋棋譜軟體來產生。
Oracle 控制檔案格式ctl檔案格式
options skip 1,errors 10 load data characterset zhs16gbk infile into table table name truncate fields terminated by optionally enclosed by trailing nu...
檔案格式 gff格式
gff檔案格式 gff格式是 sanger 研究所定義,是一種簡單的 方便的對於 dna rna以及蛋白質序列的特徵進行描述的一種資料格式,已經成為序列注釋的通用格式,比如基因組的基因 許多軟體都支援輸入或者輸出gff格式。前格式定義的最新版本是版本3。原始定義見 song websitegff是存...
DOS檔案格式 與 UNIX檔案格式 轉換
這裡闡述兩種方法 1.使用vim的方法 在vim下 使用如下命令 set fileformat unix 就可轉換成 unix 檔案格式,也可使用其縮寫形式命令 set ff unix 直接輸入命令 set fileformat 或 set ff 還可查詢當前的命令格式。2.使用linux命令工具 ...