中国象棋电脑PGN文件格式
在中国,已有几千年历史、充满东方智慧的象棋在中国的群众基础远远超过围棋,一直是普及最广的棋类项目。下面学习啦小编给你介绍中国象棋电脑PGN文件格式,欢迎阅读。
中国象棋电脑PGN文件格式一、概述
PGN(Portable Game Notation)是棋类游戏过程的文件格式,既然国际象棋以这个规范作为记录棋谱的标准,那么对于中国象棋来说,在还没有一个统一标准的今天,PGN无疑是一个好的选择。PGN文件有以下特点:
(1) PGN文件是文本格式的,可以用任何文本编辑软件建立和修改;
(2) PGN文件分为“标签部分”和“着法部分”,两部分都规范整齐,既方便阅读,也便于棋谱编辑软件产生和解读;
(3) 一个PGN文件允许包含多个棋局,形成简易的棋谱数据库;
(4) PGN文件的格式是公开的,现在已经被绝大多数棋谱编辑软件所接受(仅指国际象棋,目前还没有可以产生PGN文件的中国象棋软件)。
中国象棋电脑PGN文件格式二、标签部分
PGN的标签都是由方括号“[]”表示的内容,每个标签占一行,它们反映了棋局的一些基本情况。中国象棋的PGN记谱规范同国际象棋类似,基本标签有:
(0) Game:游戏类型,国际象棋没有这个标签,中国象棋的PGN文件中这个标签必须放在第一位,其值必须为“Chinese Chess”;
(1) Event:比赛名;
学习啦在线学习网 (2) Site:比赛地点;
(3) Date:比赛日期,格式统一为“yyyy.mm.dd”;
学习啦在线学习网 (4) Round:比赛轮次;
(5) Red:红方棋手,不同与国际象棋的White;
(6) Black:黑方棋手;
学习啦在线学习网 (7) Result:比赛结果,“红先胜”用“1-0”表示,“黑先胜”用“0-1”表示,和棋用“1/2-1/2”表示,未知用“*”表示。
另外还要增加具有中国象棋比赛特点的信息:
学习啦在线学习网 (8) RedTeam和BlackTeam:这是棋手所属的代表队(俱乐部、棋协、省份或国家),它们通常写在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:开始局面,中局、残局和排局等摆出来的局面,作棋谱记录时通常要规定这个选项;
(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记谱规范(上)一文。
中国象棋电脑PGN文件格式三、棋谱部分
学习啦在线学习网 这部分是PGN的主要内容,记录了每一回合的着法、评注和结果。对于这部分内容的格式,有以下几个规定:
(1) 棋谱部分必须在标签部分的后面,棋谱部分当中不能插入标签;
学习啦在线学习网 (2) 每一回合都由“回合数”、“红方着法”和“黑方着法”三部分组成,回合数后面要跟“.”(句点),三者之间用两个分隔符隔开(回合数后面的句点也不例外),回合之间也用分隔符隔开;
学习啦在线学习网 (3) 着法的表示必须和Format标签相统一,如果没有Format标签,则用中文纵线格式来表示;
(4) 分割符只能是空格、制表符或换行符,一个着法当中不能有分割符(回合数也一样);
学习啦在线学习网 (5) 评注用花括号“{}”表示,评注内可以是除花括号以外的任何字符(包括分割符),评注可以插在任何着法的后面,它和着法之间必须用分割符隔开;
(6) 整个棋局结束时必须用“1-0”(红方胜)、“0-1”(黑方胜)、“1/2-1/2”(和棋)或“*”(未知)表示结果,结果和着法之间必须用分割符隔开;
(7) 结果以后只能有评注,不能有着法;如果出现标签,则说明这是下一局棋。
例如,下列PGN文件的片段是允许的:
51. 兵五平六
{红方这一步长将还不足以判负,
但是下一次就要判负了。}
将4平5
52. 兵六平五 将5平4 53. 兵五平六 0-1 {红方长将判负}
学习啦在线学习网 又例如,下列PGN文件的片段是不合理的:
学习啦在线学习网 51.兵五平六 将4平5 // 句点后面应该加分割符
学习啦在线学习网 [Format "WXF"] 52. P6.5 K5.4 // 棋谱部分不能含有标签
53. 兵五{再平六就要判负了}平四 // 评注不能把一个着法拆散
中国象棋电脑PGN文件格式四、举例
下面是一个很经典的例子,这个例子能很好地反映中国象棋PGN格式的特点:
学习啦在线学习网 [Game "Chinese Chess"]
学习啦在线学习网 [Event "许银川让九子对聂棋圣"]
学习啦在线学习网 [Site "广州"]
学习啦在线学习网 [Date "1999.12.09"]
学习啦在线学习网 [Red "许银川"]
[Black "聂卫平"]
学习啦在线学习网 [Result "1-0"]
学习啦在线学习网 [FEN "rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/9/1C5C1/9/RN2K2NR r - - 0 1"]
学习啦在线学习网 { 评注:许银川
象棋让九子原属茶余饭后的娱乐,不意今日却被摆上赛桌,更为离奇的是:我的对手竟是在围棋棋坛上叱咤风云的聂大帅。赛前我并不了解对手的实力,但相信以聂棋圣在围棋上所体现出来的过人智慧,必能在棋理上触类旁通。因此我在赛前也作了一些准备,在对局中更是小心翼翼,不敢掉以轻心。
学习啦在线学习网 许银川让去5只兵和双士双相,执红先行。棋盘如右图所示。当然,PGN文件里是无法嵌入图片的。}
1. 炮八平五 炮8平5
学习啦在线学习网 { 红方首着架中炮必走之着,聂棋圣还架中炮拼兑子力,战术对头。}
2. 炮五进五 象7进5 3. 炮二平五
学习啦在线学习网 { 再架中炮也属正着,如改走马八进七,则象5退7,红方帅府受攻,当然若红方仍再架中炮拼兑,那么失去双炮就难有作用了。}
学习啦在线学习网 马8进7 4. 马二进三 车9平8 5. 马八进七 马2进1 6. 车九平六 车1平2
{ 聂棋圣仍按常规战法出动主力,却忽略了红方车塞象眼的凶着,应走车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,红方若续走马八退七,则仍炮1进4不变作和,因黑右车叫将红可车六退九,故不算犯规。}
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. 车五平七
{ 至此,聂棋圣认负。与此同时,另一盘围棋对弈我被屠去一条大龙,已无力再战,遂平分秋色,皆大欢喜。}
1-0
中国象棋电脑PGN文件格式五、变着
变着用圆括号“()”表示,变着是以棋谱的形式对棋谱的评注,因此括号里的内容本身也是棋谱,里面还可以嵌套评注(用花括号)和变着(用圆括号)。变着针对的是括号前的着法,例如在下面一段棋谱中,变着指的是“炮2进7”改走“炮2平3”:
7. 车六进八 炮2进7 (7. ... 炮2平3 8. 帅五平六 炮3进5 9. 车六进一 将5进1 10. 炮五退二 {黑方不易驾驭局面})
中国象棋电脑PGN文件格式六、PGN与XML
如今网络技术发展飞快,棋谱要能发布在互联网上,需要一种容易被互联网应用程序所识别的格式,XML无疑是一种好的选择。由于PGN的标签和XML的容器具有类似之处,所以PGN和XML的转换非常方便。目前XML的棋谱规范尚未形成,但是只要照搬PGN格式的内容,就不难形成一个公认的XML格式。例如,上面一个实例转化为XML格式的文本,就可以是以下形式:
Chinese Chess
许银川让九子对聂棋圣
广州
学习啦在线学习网 1999.12.09
许银川
聂卫平
1-0
rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/9/1C5C1/9/RN2K2NR r - - 0 1
学习啦在线学习网 炮八平五 炮8平5
1-0
看了“中国象棋电脑PGN文件格式 ”的人还看了: