學習啦>興趣愛好>學下棋>中國象棋>

中國象棋電腦PGN文件格式

時間: 雪花750 分享

  在中國,已有幾千年歷史、充滿東方智慧的象棋在中國的群眾基礎遠遠超過圍棋,一直是普及最廣的棋類項目。下面學習啦小編給你介紹中國象棋電腦PGN文件格式,歡迎閱讀。

  中國象棋電腦PGN文件格式一、概述

  PGN(Portable Game Notation)是棋類游戲過程的文件格式,既然國際象棋以這個規(guī)范作為記錄棋譜的標準,那么對于中國象棋來說,在還沒有一個統(tǒng)一標準的今天,PGN無疑是一個好的選擇。PGN文件有以下特點:

  (1) PGN文件是文本格式的,可以用任何文本編輯軟件建立和修改;

  (2) PGN文件分為“標簽部分”和“著法部分”,兩部分都規(guī)范整齊,既方便閱讀,也便于棋譜編輯軟件產(chǎn)生和解讀;

  (3) 一個PGN文件允許包含多個棋局,形成簡易的棋譜數(shù)據(jù)庫;

  (4) PGN文件的格式是公開的,現(xiàn)在已經(jīng)被絕大多數(shù)棋譜編輯軟件所接受(僅指國際象棋,目前還沒有可以產(chǎn)生PGN文件的中國象棋軟件)。

  中國象棋電腦PGN文件格式二、標簽部分

  PGN的標簽都是由方括號“[]”表示的內容,每個標簽占一行,它們反映了棋局的一些基本情況。中國象棋的PGN記譜規(guī)范同國際象棋類似,基本標簽有:

  (0) Game:游戲類型,國際象棋沒有這個標簽,中國象棋的PGN文件中這個標簽必須放在第一位,其值必須為“Chinese Chess”;

  (1) Event:比賽名;

  (2) Site:比賽地點;

  (3) Date:比賽日期,格式統(tǒng)一為“yyyy.mm.dd”;

  (4) Round:比賽輪次;

  (5) Red:紅方棋手,不同與國際象棋的White;

  (6) Black:黑方棋手;

  (7) Result:比賽結果,“紅先勝”用“1-0”表示,“黑先勝”用“0-1”表示,和棋用“1/2-1/2”表示,未知用“*”表示。

  另外還要增加具有中國象棋比賽特點的信息:

  (8) RedTeam和BlackTeam:這是棋手所屬的代表隊(俱樂部、棋協(xié)、省份或國家),它們通常寫在Red和Black標簽的前面;

  (9) Opening、Variation和ECCO:開局名稱、變例和ECCO編號,這些都代表開局的信息,可參考《中國象棋開局編號——說明》一文;

  這里舉一個例子說明:

  [Game "Chinese Chess"]

  [Event "第24屆“五羊杯”全國冠軍邀請賽"]

  [Site "廣州"]

  [Date "2004.01.05"]

  [Round "決賽(加賽)"]

  [RedTeam "廣州"]

  [Red "呂欽"]

  [BlackTeam "廣州"]

  [Black "許銀川"]

  [Result "1-0"]

  [Opening "中炮過河炮對左三步虎"]

  [ECCO "B24"]

  (10) FEN:開始局面,中局、殘局和排局等擺出來的局面,作棋譜記錄時通常要規(guī)定這個選項;

  (11) Format:表示記譜方法,可以是Chinese(中文縱線格式)、WXF(WXF縱線格式)和ICCS(ICCS坐標格式),默認為Chinese。

  以下信息可以作為標簽存在,也可以寫在注釋中:

  (1) 棋手相關信息:紅方有RedTitle、RedElo、RedNA(這項通常會被RedTeam所取代)、RedType等,黑方寫法雷同;

  (2) 賽事相關信息:EventDate、EventSponsor、Section、Stage、Board、Time等;

  (3) 時限:以TimeControl為標簽的多種表示。

  (4) 對局結論,以Termination為標簽的多種表示。

  (5) 其他,諸如Annotator、Mode、PlyCount等,請參閱《國際象棋譯文苑》文摘——關于PGN和FEN記譜規(guī)范(上)一文。

  中國象棋電腦PGN文件格式三、棋譜部分

  這部分是PGN的主要內容,記錄了每一回合的著法、評注和結果。對于這部分內容的格式,有以下幾個規(guī)定:

  (1) 棋譜部分必須在標簽部分的后面,棋譜部分當中不能插入標簽;

  (2) 每一回合都由“回合數(shù)”、“紅方著法”和“黑方著法”三部分組成,回合數(shù)后面要跟“.”(句點),三者之間用兩個分隔符隔開(回合數(shù)后面的句點也不例外),回合之間也用分隔符隔開;

  (3) 著法的表示必須和Format標簽相統(tǒng)一,如果沒有Format標簽,則用中文縱線格式來表示;

  (4) 分割符只能是空格、制表符或換行符,一個著法當中不能有分割符(回合數(shù)也一樣);

  (5) 評注用花括號“{}”表示,評注內可以是除花括號以外的任何字符(包括分割符),評注可以插在任何著法的后面,它和著法之間必須用分割符隔開;

  (6) 整個棋局結束時必須用“1-0”(紅方勝)、“0-1”(黑方勝)、“1/2-1/2”(和棋)或“*”(未知)表示結果,結果和著法之間必須用分割符隔開;

  (7) 結果以后只能有評注,不能有著法;如果出現(xiàn)標簽,則說明這是下一局棋。

  例如,下列PGN文件的片段是允許的:

  51. 兵五平六

  {紅方這一步長將還不足以判負,

  但是下一次就要判負了。}

  將4平5

  52. 兵六平五 將5平4 53. 兵五平六 0-1 {紅方長將判負}

  又例如,下列PGN文件的片段是不合理的:

  51.兵五平六 將4平5      // 句點后面應該加分割符

  [Format "WXF"] 52. P6.5 K5.4  // 棋譜部分不能含有標簽

  53. 兵五{再平六就要判負了}平四 // 評注不能把一個著法拆散

  中國象棋電腦PGN文件格式四、舉例

  下面是一個很經(jīng)典的例子,這個例子能很好地反映中國象棋PGN格式的特點:

  [Game "Chinese Chess"]

  [Event "許銀川讓九子對聶棋圣"]

  [Site "廣州"]

  [Date "1999.12.09"]

  [Red "許銀川"]

  [Black "聶衛(wèi)平"]

  [Result "1-0"]

  [FEN "rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/9/1C5C1/9/RN2K2NR r - - 0 1"]

  {  評注:許銀川

  象棋讓九子原屬茶余飯后的娛樂,不意今日卻被擺上賽桌,更為離奇的是:我的對手竟是在圍棋棋壇上叱咤風云的聶大帥。賽前我并不了解對手的實力,但相信以聶棋圣在圍棋上所體現(xiàn)出來的過人智慧,必能在棋理上觸類旁通。因此我在賽前也作了一些準備,在對局中更是小心翼翼,不敢掉以輕心。

  許銀川讓去5只兵和雙士雙相,執(zhí)紅先行。棋盤如右圖所示。當然,PGN文件里是無法嵌入圖片的。}

  1. 炮八平五 炮8平5

  {  紅方首著架中炮必走之著,聶棋圣還架中炮拼兌子力,戰(zhàn)術對頭。}

  2. 炮五進五 象7進5 3. 炮二平五

  {  再架中炮也屬正著,如改走馬八進七,則象5退7,紅方帥府受攻,當然若紅方仍再架中炮拼兌,那么失去雙炮就難有作用了。}

  馬8進7 4. 馬二進三 車9平8 5. 馬八進七 馬2進1 6. 車九平六 車1平2

  {  聶棋圣仍按常規(guī)戰(zhàn)法出動主力,卻忽略了紅方車塞象眼的兇著,應走車1進1。}

  7. 車六進八

  {  紅車疾點象眼,局勢霎時有劍拔弩張之感。這種對弈不能以常理揣度,紅方只能像程咬金的三板斧一般猛攻一輪,若黑方防守得法則勝負立判。}

  炮2進7

  {  卻說聶棋圣見我來勢洶洶,神色頓時頗為凝重,一番思索之后沉下底炮以攻為守,果是身手不凡。此著如改走炮2平3,則帥五平六,炮3進5,車六進一,將5進1,炮五退二,黑方不易駕馭局面。}

  8. 車一進四 炮2平1 9. 馬七進八 炮1退4 10. 馬八退七 炮1進4 11. 馬七進八 車2進2

  {  其實黑方仍可走炮1退4,紅方若續(xù)走馬八退七,則仍炮1進4不變作和,因黑右車叫將紅可車六退九,故不算犯規(guī)。}

  12. 炮五平八 炮1退4

  {  劣著,導致失子,應走車2平3,紅方如馬八進六,則車3退1,紅方無從著手。但有一點必須注意,黑車躲進暗道似與棋理相悖,故聶棋圣棄子以求局勢緩和情有可原。}

  13. 炮八進五 炮1平9 14. 炮八平三 車8進2 15. 炮三進一 車8進2 16. 馬八進六 炮9平5

  17. 炮三平一 士6進5 18. 馬六進四 車8平5 19. 帥五平六

  {  可直接走馬四進三叫將再踩中象。}

  車5平6 20. 馬四進三 將5平6 21. 車六退四 卒5進1 22. 車六進二 炮5平7

  23. 前馬退二 象5進7 24. 馬二退三 卒5進1 25. 車六平三 卒5平6 26. 車三進三 將6進1

  27. 后馬進二 士5進6 28. 馬二進三 將6平5 29. 前馬進二

  {  紅方有些拖沓,應直接走車三平六立成絕殺。}

  將5進1 30. 車三平六 士6退5 31. 馬二退三 車6退1 32. 車六退三

  {  再擒一車,以下著法僅是聊盡人事而已。}

  車6平7 33. 車六平三 卒6平7 34. 車三平五 將5平6 35. 帥六平五 將6退1

  36. 車五進二 將6退1 37. 車五進一 將6進1 38. 車五平七

  {  至此,聶棋圣認負。與此同時,另一盤圍棋對弈我被屠去一條大龍,已無力再戰(zhàn),遂平分秋色,皆大歡喜。}

  1-0

  中國象棋電腦PGN文件格式五、變著

  變著用圓括號“()”表示,變著是以棋譜的形式對棋譜的評注,因此括號里的內容本身也是棋譜,里面還可以嵌套評注(用花括號)和變著(用圓括號)。變著針對的是括號前的著法,例如在下面一段棋譜中,變著指的是“炮2進7”改走“炮2平3”:

  7. 車六進八 炮2進7 (7. ... 炮2平3 8. 帥五平六 炮3進5 9. 車六進一 將5進1 10. 炮五退二 {黑方不易駕馭局面})

  中國象棋電腦PGN文件格式六、PGN與XML

  如今網(wǎng)絡技術發(fā)展飛快,棋譜要能發(fā)布在互聯(lián)網(wǎng)上,需要一種容易被互聯(lián)網(wǎng)應用程序所識別的格式,XML無疑是一種好的選擇。由于PGN的標簽和XML的容器具有類似之處,所以PGN和XML的轉換非常方便。目前XML的棋譜規(guī)范尚未形成,但是只要照搬PGN格式的內容,就不難形成一個公認的XML格式。例如,上面一個實例轉化為XML格式的文本,就可以是以下形式:

  Chinese Chess

  許銀川讓九子對聶棋圣

  廣州

  1999.12.09

  許銀川

  聶衛(wèi)平

  1-0

  rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/9/1C5C1/9/RN2K2NR r - - 0 1

  炮八平五 炮8平5

  1-0
看了“中國象棋電腦PGN文件格式 ”的人還看了:

1.中國象棋怎么贏電腦

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

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

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

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

611492