最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

中國象棋電子棋譜PGN格式研究

2021-05-03 13:54 作者:蔴球視頻  | 我要投稿

正文

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

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

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

(3) 一個PGN文件允許包含多個棋局,形成簡易的棋譜數(shù)據(jù)庫;(很少有這么做的,多半是建成CBL格式)

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

一個正常的PGN格式如下(注釋用 ’ 表示,不標注必須存在可以舍棄)

[Game "Chinese Chess"] ’?必須存在,缺省值Chinese Chess

[Event "賽事"] ’ 文本內(nèi)對應漢字為對應定義,如有下同

[Site "地點"]

[Date "時間格式如yyyy.mm.dd"] ’ 這里只接受yyyy.mm.dd

[Time "hh:mm:ss"] ’ 這里只接受hh:mm:ss。

[Round "輪次"]

[Red "紅方"] ’ 紅方名字

[Black "黑方"] ’ 黑方名字

[Result "*"] ’ 此部分詳見開局注釋,必須存在

[Title "標題"]

[TimeControl "計時"]

[RedElo "紅方積分"]

[BlackElo "黑方積分"]

[RedTeam "紅方團隊"]

[BlackTeam "黑方團隊"]

[Annotator "解說者,如蔴球電子"]

[Creator "創(chuàng)建者,如蔴球電子"]

{注釋例子,result中*表示未知結果,1/2-1/2表示和棋,1-0表示紅方贏,0-1表示黑方贏。} ’ 開局注釋

1. 炮八平五 {紅方第一步}

馬8進7 {黑方第一步}

......(略)

其他格式如Opening、Variation和ECCO:開局名稱、變例和ECCO編號,這些都代表開局的信息,F(xiàn)EN表示開始局面,中局、殘局和排局等擺出來的局面,作棋譜記錄時通常要規(guī)定這個選項,F(xiàn)ormat:表示記譜方法,可以是Chinese(中文縱線格式)、WXF(WXF縱線格式)和ICCS(ICCS坐標格式),默認為Chinese。其他如EventDate、EventSponsor、Section、Stage、Board、Time等; 時限以TimeControl為標簽的多種表示,對局結論,以Termination為標簽的多種表示。其他,諸如Annotator、Mode、PlyCount等,請參閱《國際象棋譯文苑》文摘——關于PGN和FEN記譜規(guī)范(上)一文。(這段話中很多格式并非必須存在的,由于原文章過于古老,很多已經(jīng)棄用)

棋譜規(guī)范(有改動)

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

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

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

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

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

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

8.紅方統(tǒng)一用漢字表示數(shù)字,黑方統(tǒng)一用全角數(shù)字表示數(shù)字。(半角數(shù)字只是為了方便舉例錯誤寫法)

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

51. 兵五平六

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

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

將4平5

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

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

51.

兵五平六 將4平5      // 句點后面應該加空格

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

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

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

1. 炮八平五 {紅方第一步}

馬8進7 {黑方第一步} (1. ... 炮8平5 2.?馬八進七?馬8進7?3. 車九平八 車9進8??{測試例子})

本人的文章參考了以下網(wǎng)站,謝謝!

https://www.xqbase.com/protocol/cchess_pgn.htm

(2004年11月初稿,2006年2月修訂,由于某些說明過老,個人注釋用中文括號表示)


中國象棋電子棋譜PGN格式研究的評論 (共 條)

分享到微博請遵守國家法律
资源县| 饶阳县| 汽车| 高雄县| 手机| 马龙县| 京山县| 师宗县| 台安县| 二手房| 甘肃省| 客服| 灵寿县| 和静县| 攀枝花市| 曲松县| 扶绥县| 海丰县| 遂川县| 禹城市| 上高县| 磐石市| 枝江市| 五莲县| 唐海县| 龙南县| 资阳市| 黎川县| 钦州市| 金门县| 凭祥市| 宣城市| 上思县| 阿克陶县| 新巴尔虎左旗| 抚顺市| 旬阳县| 遵义市| 恭城| 壶关县| 宁城县|