• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 興趣愛好 > 學下棋 > 中國象棋 > 中國象棋電腦FEN文件格式詳解

    中國象棋電腦FEN文件格式詳解

    時間: 雪花750 分享

    中國象棋電腦FEN文件格式詳解

      中國象棋是起源于中國的一種棋戲,屬于二人對抗性游戲的一種,在中國有著悠久的歷史。由于用具簡單,趣味性強,成為流行極為廣泛的棋藝活動。下面學習啦小編給你介紹中國象棋電腦FEN文件格式詳解,歡迎閱讀。

      中國象棋電腦FEN文件格式詳解

      一、FEN的優(yōu)勢

      FEN(Forsyth-Edwards Notation)是專門用來表示象棋局面的記錄規(guī)范,在這個規(guī)范下,一個局面可以簡單地用一行“FEN格式串”來表示,而不必煩瑣地說:“紅帥在四路次底線,黑將在5路底線……”。由于它是文本格式的(只牽涉到很有限的幾個字母、數(shù)字和符號),因此網(wǎng)上傳遞棋局就非常方便,不用把棋圖畫在紙上或用文字笨拙地描述了,而是用棋譜編輯軟件擺好局面,自動得到FEN格式串,再貼到諸如Web網(wǎng)頁、BBS、電子論壇等能夠傳遞文字的網(wǎng)絡應用平臺上。讀者面對FEN格式傳,只要借助于棋譜編輯軟件,用“賦值”和“粘貼”就可以完全重現(xiàn)局面,使得棋譜交流快速而高效。

      二、FEN格式串

      國際象棋的FEN格式串是由6段ASCII字符串組成的代碼(彼此5個空格隔開),這6段代碼的意義依次是:

      (1) 棋盤上的棋子,這是FEN格式串的主要部分;

      (2) 輪到哪一方走子;

      (3) 每方及該方的王翼和后翼是否還存在“王車易位”的可能;

      (4) 是否存在吃過路兵的可能,過路兵是經(jīng)過哪個格子的;

      (5) 最近一次吃子或者進兵后棋局進行的步數(shù)(半回合數(shù)),用來判斷“50回合自然限著”;

      (6) 棋局的回合數(shù)。

      中國象棋沒有“王車易位”和“吃過路兵”的著法,所以FEN格式串的這兩項空缺,以最初局面為例說明:

      rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1

      (1) 紅色區(qū)域,表示棋盤布局,小寫表示黑方,大寫表示紅方,其他規(guī)則同國際象棋的FEN規(guī)范(請參閱《國際象棋譯文苑》文摘——關于PGN和FEN記譜規(guī)范(下)一文)。這里要注意兩點,一是中國象棋棋盤有10行,所以要用9個“/”把每一行隔開;二是棋子名稱用英文字母表示,國際象棋中沒有的棋子是仕(士)和炮,這里分別用字母A(a)和C(c)表示。

      (2) 綠色區(qū)域,表示輪到哪一方走子,“w”表示紅方,“b”表示黑方。(有人認為紅方應該用“r”表示,很多象棋軟件確實是這樣表示的。ElephantBoard盡管用“w”表示,但識別時采取靈活的辦法,即“b”表示黑方,除此以外都表示紅方。)

      (3) 深紫色區(qū)域,空缺,始終用“-”表示。

      (4) 紫紅色區(qū)域,空缺,始終用“-”表示。

      (5) 藍色區(qū)域,表示雙方?jīng)]有吃子的走棋步數(shù)(半回合數(shù)),通常該值達到120就要判和(六十回合自然限著),一旦形成局面的上一步是吃子,這里就標記“0”。(這個參數(shù)對于普通局面的意義不大,ElephantBoard的規(guī)則處理器并不是根據(jù)這一項來判斷和棋的,所以總是計為“0”。)

      (6) 棕色區(qū)域,表示當前的回合數(shù),在研究中局或排局時,作為研究對象的局面,這一項可以寫1,隨著局勢的發(fā)展逐漸增加。

      三、FEN文件

      FEN格式串有很多載體,通常的做法是把它保存成后綴為“.FEN”的文件。FEN文件是ASCII碼文件,可以用任何文本編輯軟件來建立和修改,也可以通過象棋棋譜軟件來產(chǎn)生。

      四、歷史局面的表示

      這是只在“中國象棋通用引擎協(xié)議”(UCCI協(xié)議)中采用的方法,用來表示歷史局面。在UCCI協(xié)議中,局面用position fen 來傳遞,由于FEN格式串無法記錄歷史局面,所以該指令后面必須用moves選項來說明。例如右圖局面,發(fā)生時,界面向引擎?zhèn)鬟f局面信息:

      position fen 9/9/3k5/9/9/9/4R4/3A5/8r/4K4 b - - 0 1

      此時引擎走車9進1是沒有問題的。然而當它是某個長將局面的延續(xù)時,界面向引擎?zhèn)鬟f的局面信息就必須用moves選項來說明:

      position fen 9/9/3k5/9/9/9/4R4/3A5/4K4/8r b - - 0 1 moves i0i1 e1e0 i1i0 e0e1 i0i1 e1e0 i1i0 e0e1 i0i1 e1e0

      盡管也是右圖的局面,但意義已經(jīng)發(fā)生了變化,此時引擎不可能再走車9進1,因為緊接著一步帥五進一,導致局面重復第三次,黑方被判長將作負。

      ElephantBoard向引擎?zhèn)鬟f局面時,總是最近一次吃過子的局面(或開始局面),后面所有的著法都用moves選項來傳遞給引擎,這樣就包含了判斷自然限著和長打的歷史信息,這些信息可由引擎來處理。
    看了“中國象棋電腦FEN文件格式詳解 ”的人還看了:

    1.中國象棋怎么贏電腦

    2.中國象棋棋譜《梅花棋譜》

    3.中國象棋棋藝提升技巧

    4.怎樣提高下象棋的水平

    5.國際象棋棋譜格式及管理工具推薦

    611451 主站蜘蛛池模板: 亚洲国产电影在线观看| 东京一本一道一二三区| 亚洲国产精品久久人人爱| 国产乱人伦AV在线麻豆A| 无人在线观看视频高清视频8 | 一区二区在线免费观看| 国产成人精品无码片区在线观看 | 亚洲图片欧美日韩| 国产精品一区二区三乱码| 岛国大片在线播放| 欧美精品亚洲精品日韩1818| 邻居少妇张开腿让我爽了在线观看 | av天堂永久资源网| 久久精品人人爽人人爽| 亚洲欧美日韩中文久久| 免费高清在线观看a网站| 在线观看亚洲一区| 最新国产午夜精品视频成人| 永久免费无码网站在线观看| 精品人妻系列无码一区二区三区| 99福利视频导航| 一二三四在线观看免费中文动漫版 | 男女一进一出猛进式抽搐视频| nxgx.com| 一本大道香蕉在线影院| 两个人一上一下剧烈运动| 久久伊人成人网| 亚洲理论在线观看| 亚洲视屏在线观看| 佐藤遥希在线播放一二区| 国产毛片久久久久久国产毛片| 国模杨依大胆张腿视频流露| 无码国产精品一区二区高潮| 欧美国产激情二区三区| 羞羞社区在线观看视频 | 亚洲第一极品精品无码久久| 国产91精品一区二区| 女人18毛片a级毛片免费| 欧美视频在线免费播放| 波多野结衣四虎| 成人在线观看不卡|