精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦 > 興趣愛好 > 學(xué)下棋 > 中國(guó)象棋 > 中國(guó)象棋電腦FEN文件格式詳解

      中國(guó)象棋電腦FEN文件格式詳解

      時(shí)間: 雪花750 分享

      中國(guó)象棋電腦FEN文件格式詳解

        中國(guó)象棋是起源于中國(guó)的一種棋戲,屬于二人對(duì)抗性游戲的一種,在中國(guó)有著悠久的歷史。由于用具簡(jiǎn)單,趣味性強(qiáng),成為流行極為廣泛的棋藝活動(dòng)。下面學(xué)習(xí)啦小編給你介紹中國(guó)象棋電腦FEN文件格式詳解,歡迎閱讀。

        中國(guó)象棋電腦FEN文件格式詳解

        一、FEN的優(yōu)勢(shì)

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

        二、FEN格式串

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

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

        (2) 輪到哪一方走子;

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

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

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

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

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

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

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

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

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

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

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

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

        三、FEN文件

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

        四、歷史局面的表示

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

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

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

        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ā)生了變化,此時(shí)引擎不可能再走車9進(jìn)1,因?yàn)榫o接著一步帥五進(jìn)一,導(dǎo)致局面重復(fù)第三次,黑方被判長(zhǎng)將作負(fù)。

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

      1.中國(guó)象棋怎么贏電腦

      2.中國(guó)象棋棋譜《梅花棋譜》

      3.中國(guó)象棋棋藝提升技巧

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

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

      611451