北华航天工业学院弈缘棋友社
围棋棋谱文件详解
Smart Game Format
杨昆 编写
SGF是为了存储双人棋类对局记录而设计的一种文件格式,由 Anders Kierulf 于 1987 发明,并逐渐流行开来。SGF支持大多数的棋类软件,本书主要对 FF[4] 版本的围棋棋谱文件进行介绍,可用于围棋软件开发用应用。
北华航天工业学院弈缘棋友社出版
1
围棋棋谱文件详解 前言
前言
SGF 是目前最通用的围棋棋谱文件格式。它是以文本格式为基础的。
本书主要对围棋棋谱的SGF文件格式进行解读,以最新的FF[4] 版本为主。由于目前没有一个SGF应用软件是完美无缺的,所以本书以目前比较流行的软件MultiGo 4.4.4为主要参考对象进行解读。
简单例子:
(;CA[gb2312]FF[4]SZ[19]GM[1]GN[Example] ;B[pd];W[dp];B[pp];W[dc];B[pj]
;W[ci]C[Marked as \"Even position\"]DM[1] ;B[jd];W[jp]) 内容说明:
一个完整的SGF文件必须以 \"(\" 开头,\")\" 结尾。中间用 \";\" 隔开的部分叫节点。每个节点可以有多个属性,格式为: 属性名[属性值]。
通常棋谱的第一个节点包含一些棋谱的信息,如棋盘大小(SZ[19]),对局名称(GN[Example]),黑方(B[pd])白方(W[dc])等。
MultiGo 4.4.4简介:
MultiGo 为功能强大的围棋打谱软件。全面支持 SGF 文件格式, 并能读 BDX (清风), NGF (新浪), GOS (联众), GIB (棋圣道场 Tom.com), UGF (IGS Panda Egg), GO (中国游戏中心) 棋谱文件,而且提供中英文两种语言。
使用 MultiGo 可以很方便地游览棋谱,查看变化图,并编辑自己的棋谱文件。 具有强大的编辑功能,可以任意插入变化,标记,解说等等。另外MultiGo 还可以将棋盘存为 PNG、JPG 或 BMP 图形文件, 新增的与 Gnu Go 对弈功能可带来更多乐趣。
特殊说明:
本书中带*且用蓝色显示的项目表示MultiGo不支持该项目,带**且用红色显示的项目表示该项目为MultiGo专用项目。
杨昆 2011年8月
2
围棋棋谱文件详解 目录
目录
前言 .................................................................................................................................................. 2 目录 .................................................................................................................................................. 3 一、SGF文件的基本概念 ............................................................................................................... 1
(一)、SGF的基本含义.......................................................................................................... 1 (二)、SGF的版本 ................................................................................................................. 1 (三)、SGF文件的格式.......................................................................................................... 1 (四)、SGF应用软件 ............................................................................................................. 1 二、EBNF式在SGF中的要点 ......................................................................................................... 2 三、SGF的语法结构 ....................................................................................................................... 3
(一)、SGF格式的EBNF式 ................................................................................................... 3 (二)、空白符的性质 ............................................................................................................. 3 (三)、SGF部分结构的含义.................................................................................................. 3 四、SGF中的属性 ........................................................................................................................... 5
(一)、有关属性的说明 ......................................................................................................... 5 (二)、属性的类型 ................................................................................................................. 5 (三)、属性的值类型 ............................................................................................................. 6 五、各属性的功能 ........................................................................................................................... 8
(一)、根属性(root) .......................................................................................................... 8 (二)、对局信息(game-info) ............................................................................................ 9 (三)、走子(move) .......................................................................................................... 14 (四)、设置(setup) .......................................................................................................... 17 (五)、无类型(-) ............................................................................................................. 18
3
围棋棋谱文件详解 SGF文件的基本概念
一、SGF文件的基本概念
(一)、SGF的基本含义
(1)SGF是Smart Game Format的缩写。
(2)SGF是为了存储双人棋类对局记录而设计的一种文件格式。
(3)SGF由节点组成并构造成对局树,就是一个节点有且只有一个父节点,但可以有一个或多个子节点。这样SGF就可以存储对局记录(一系列着子)和实战的变化图。
(4)SGF由Anders Kierulf于1987发明,并逐渐流行开来。此后SGF有两个主要的修订版。
(二)、SGF的版本
(1)FF[1]:是由Anders Kierulf制订的最初的规格。此规格是其后续版本的核心。一些应用软件仍然使用此已经过时的规格,如MGT(MS-DOS版本),该软件曾随着Windows的流行而十分流行。
(2)FF[3]:是由Martin Müller于1993年修订的规格。此规格是第一个针对棋步的严谨的规格。此后SGF成为互联网上围棋棋谱的标准格式。FF[3]定义了大量的新属性,如许多比赛信息属性和一些棋盘标记属性。
(3)FF[4]:是由Arno Hollosi在一些应用软件程序员帮助下于1997年完成的。FF[4] 继承 FF[3]的精神提供一个严谨明确的SGF定义。一些新的特性如箭头、连线等被引入。
(三)、SGF文件的格式
(1)SGF是纯文本格式(非二进制格式)。
(2)SGF文件中包含对局树。
(3)文件中所有的属性标识及属性值使用ASCII字符集,除单文本和文本外。 (4)单文本和文本使用的字符集由CA属性决定。
(四)、SGF应用软件
(1)SGF文件从sgf为后缀名,可用SGF阅读器打开并编辑。
(2)没有一个程序是完美无缺的。随着SGF的发展,强烈推荐至少每年更新一次你使用的应用软件。
(3)应用软件具有忽略未知属性的能力是一项重要的功能。应用软件在忽略未知或不规范的属性时,应当给出一条警告信息 。
1
围棋棋谱文件详解 EBNF式在SGF中的要点
二、EBNF式在SGF中的要点
(1)\"...\" (2)[...] (3){...} (4)(...) (5)| (6)斜体字
术语符号。
选项:最多出现一次。
重复项:任意次数,包括0次。 分组。
并列选项,只能选一个。 参数。
2
围棋棋谱文件详解 SGF的语法结构
三、SGF的语法结构
(一)、SGF格式的EBNF式
(1)*多对局集
(2)对局树 (3)序列 (4)节点 (5)属性 (6)属性标识
= 对局树 { 对局树 } = \"(\" 序列 { 对局树 } \")\" = 节点 { 节点 } = \";\" { 属性 };
= 属性标识 属性值 { 属性值 } = 大写字母 { 大写字母 }
= \"[\" 值 \"]\"
= (值类型 | *组合值类型)
= (值类型 | *值类型 : 值类型)
= (无值 | 数 | 实数 | 程度 | 颜色 | 单文本 | 文本 | 点 |
(7)属性值 (8)值 (9)组合值类型 (10)值类型 走子 | 棋子)
(二)、空白符的性质
空白符(空格、制表符、回车符、换行符、垂直制表符等)可以出现在属性值、属性、节点、序列和对局树之间的任意位置。
(三)、SGF部分结构的含义 1.对局树
SGF由节点组成并构造成对局树,就是一个节点有且只有一个父节点,但可以有一个或多个子节点。
2.节点
(1)节点是最小可见单元。就是用户可以沿着对局树一步步地查看节点(向前或向后)。
(2)省略位于对局结尾的放弃一手和空的节点是良好的风格,对局记录的最后节点应当包含对局的最后一着。
(3)节点编号:建议节点从 0 开始编号。存储在文件中的节点应当用此方法编号。 例如(右图):(从文件起始处):根=0, a=1, b=2, c=3,
3
围棋棋谱文件详解 SGF的语法结构
d=4, e=5, f=6, g=7, h=8, i=9, j=10.
3.分支
(1)SGF在记录主干(实战进行)的同时记录分支,由此可以分析不同的进行。
(2)第一个分支是主分支。 (3)主分支应当总是用于记录实战进行。用其它分支记录参考图和变化图(如右图所示)。
(4)应用软件演示分支进行有两种方式: *兄弟节点方式和子节点方式。
(5)子节点方式演示分支是从父节点可以向任一子节点进行。 (6)*兄弟节点方式演示分支是从父节点下的某一子节点可以向该父节点的另一子节点进行。
4
围棋棋谱文件详解 SGF中的属性
四、SGF中的属性
(一)、有关属性的说明 1.属性的性质
(1)在一个节点中,一个属性只允许出现一次,属性的次序是不固定的。
(2)属性类型:每个属性具有属性类型。属性类型用于限制属性的位置,例如属性允许出现在哪些节点中,哪些属性允许出现在一个节点中组合使用。
(3)属性标识:属性标识是仅使用大写字母定义的关键字。目前每个标识符用一个或两个大写字母表示。
(4)属性值:属性值的次序允许被适当地改变。
2.属性的特性
(1)目前属性的后继性是属性唯一的特性。
(2)具有后继性的属性不仅影响包含此属性的节点而且影响该节点的所有的后继子节点直到另一个设置或者设置被清除。
(3)一旦设置了该属性,所有该节点的子节点都继承了这个具有后继性特性的属性。 (4)继承的停止:如果另一个属性出现,则新的属性值有效,或者属性值被清除,典型的方式是使用空值。
3.专用属性
专用的属性:只要不影响到本文定义的标准属性,任何人可以自由地定义附加的或专用的属性,应用软件具有忽略未知属性的能力是一项重要的功能。
(二)、属性的类型 1.根(root)
(1)它们定义一些全局的“特性”例如棋盘大小、比赛类型、使用的文件格式等等。
(2)根节点是对局树中第一个节点, 即在一个多对局集中引导一个具有多个子节点的对局的节点(例如,并非处于一个对局树中的另一个对局树分支)。
(3)根属性只能出现在根节点中。
5
围棋棋谱文件详解 SGF中的属性
2.对局信息(game-info)
(1)对局信息属性提供有关对局的一些信息(例如对局者、地点、时间、内容、结果、规则等等).
(2)这些属性通常处于根节点中。
(3)包含对局信息属性的节点被称为对局信息节点。
(4)在一个对局树的任何一个路径中只能有一个对局信息节点。 (5)*当把一个对局并入一个多对局集中,对局信息属性则处于第一个与其它对局区分开的节点中。
3.走子(move)
(1)走子属性描述一个走子,而非在某个位置放置一子。 (2)走子属性不允许和设置属性处于同一个节点中。
(3)注意:在根节点中包含走子属性是不好的风格(尽管这样不是被禁止的)。
4.设置(setup)
(1)设置属性描述在某个位置放置一子。
(2)设置属性不允许和走子属性处于同一个节点中。
5.无类型(-)
这些属性没有特殊的类型,允许出现在多对局集中的任何位置。
(三)、属性的值类型 1.属性值的EBNF式
(1)大写字母(UcLetter)
(2)数字(Digit) (3)无值(None) (4)数(Number) (5)实数(Real) (6)点(Point) (7)走子(Move) (8)棋子(Stone) (9)程度(Double) (10)颜色(Color) (11)文本(Text)
= \"A\"..\"Z\" = \"0\"..\"9\" = \"\"
= [(\"+\"|\"-\")] 数字 { 数字 } = 数 [\".\" 数字 { 数字 }] = 由各棋类专门规定 = 由各棋类专门规定 = 由各棋类专门规定 = (\"1\" | \"2\") = (\"B\" | \"W\") = { 任意字符 }
6
围棋棋谱文件详解 SGF中的属性
(12)单文本(SimpleText) = { 任意字符 }
2.点、走子和棋子
(1)在围棋中棋子被简化为点,而且走子和点用相同的方式表示: 两个字母。 (2)第一个字母指定列数(从左往右),第二个指定行数(从上往下)。 (3)使用小写字母仅用于小于 26×26 的棋盘。 (4)FF[4]允许使用更大的棋盘直到52×52。在这种情况下,大写字母被用于表示 27-52(行、列),就是说 'a'=1 ... 'z'=26 , 'A'=27 ... 'Z'=52。
(5)棋盘的左上部分可当作小棋盘使用,例如字母\"a\"-\"m\"用于13×13的棋盘。
(6)放弃一手:放弃一手用”[]”表示,也可以用”[tt]”代替(只可用于小于19×19的棋盘),就是说应用软件应该能够处理这两种表示方式。保留”[tt]”的表示方式是为了兼容FF[3]。
3.*压缩点阵
(1)*压缩点阵的EBNF定义:点阵= (点 | 点 \":\" 点)
(2)*压缩点阵中的第一个点指定矩形的左上角,第二个点指定矩形的右下角。 (3)*1x1 矩形是合法的 - 即是单个点的点阵。
(4)*点阵的定义允许由单个的点[xy]或矩形[ul:lr]构成的按任意次序的组合。 (5)*点只能被指定一次,就是说,重复和交叠是被禁止的。
4.文本
(1)应用软件必须能处理任意长度的文本。文本应当被原样显示,超出显示范围的过长的部分可能被遮盖。
(2)转义: \"\\\" 是转义符。任何紧跟在 \"\\\" 后面的字符将被原样地插入。 (3)当在文本中使用 \"]\",\"\\\" 和 \":\"(在压缩数据类型中除外)等字符时必须被转义。
5.单文本
(1)应用软件必须能够处理任意长度的单文本。单文本是一个简单的字符串,只显示一行。
(2)转义: \"\\\" 是转义符。任何紧跟在 \"\\\" 后面的字符将被原样地插入。 (3)当在文本中使用 \"]\",\"\\\" 和 \":\"(在压缩数据类型中除外)等字符时必须被转义。
(4)**在MultiGo的显示中:“换行符”、“制表符”被 “无长度显示”。 (5)**在MultiGo的编辑中:“换行符”变为“无长度字符”,“制表符”则被原样显示。
7
围棋棋谱文件详解 各属性的功能
五、各属性的功能
(一)、根属性(root) 1.CA字符集(Charset)
属性类型:根属性
详细类型:根属性 值类型:单文本
说明:单文本和文本使用的字符集由CA属性决定。
2.FF文件格式(Fileformat)
属性类型:根属性 详细类型:根属性 值类型:数
说明:SGF棋谱版本 范围:(1-4),其中1、3、4为主要版本
3.GM对局类别(Game)
属性类型:根属性 详细类型:根属性 值类型:数 范围:(1-5,7-17)
说明:围棋 = 1,黑白棋 = 2,国际象棋 = 3,五子棋 = 4
九子棋 = 5,西洋双陆棋 = 6,中国象棋 = 7,日本将棋 = 8 集结棋 = 9,攻击棋 = 10,六角棋 = 11,斗兽棋 = 12
中子棋 = 13,Philosopher's Football = 14,Quadrature = 15,Trax = 16 Tantrix = 17,Amazons = 18,Octi = 19,Gess = 20
4.SZ棋盘大小(Size)
属性类型:根属性 详细类型:根属性
值类型:(数 | composed 数 \":\" 数) 说明:(1)棋盘大小用1或2个数表示
(2)使用小写字母仅用于小于 26×26 的棋盘。
8
围棋棋谱文件详解 各属性的功能
(3)FF[4]允许使用更大的棋盘直到52×52。在这种情况下,大写字母被用于表示 27-52(行、列),就是说 'a'=1 ... 'z'=26 , 'A'=27 ... 'Z'=52。方式是为了兼容FF[3]。
5.AP应用软件(Application)
属性类型:根属性 详细类型:根属性
值类型:composed 单文本 \":\" 单文本 示例:SmartGo:1.0
6.*ST分支显示风格(Style)
属性类型:根属性 详细类型:根属性 值类型:数 范围:(0-3)
7. **MULTIGOGM对局类别(MultigoGame)
属性类型:根属性 详细类型:根属性 值类型: 数
(二)、对局信息(game-info) 1.GN棋谱名(Game name)
属性类型:对局信息
详细类型:对局信息属性 值类型:单文本
2.GC棋谱备注(Game comment)
属性类型:对局信息 详细类型:对局信息属性 值类型:文本
说明:对比赛的一般的注释
9
围棋棋谱文件详解 各属性的功能
3.US编写者(User)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:录入棋谱的人或程序
4.SO来源(Source)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:棋谱来源(例如: 书、杂志等)
5.CP版权(Copyright)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:棋谱的版权信息
6.AN注解(Annotation)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本 说明:评注者姓名
7.EV赛事(Event)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本 说明:赛事的名称 示例:例如: 应氏杯
8.RO回合(Round)
属性类型:对局信息 详细类型:对局信息属性
10
围棋棋谱文件详解 各属性的功能
值类型:单文本
说明:比赛的回合数,用于番棋
9.DT时间(Date)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本 说明:比赛时间
强制使用以下格式:使用 ISO 标准格式 \"YYYY-MM-DD\" 不要使用:其它的分隔符诸如 \"/\" 或 \" \" 或 \".\"。 特别情况一:允许使用部分日期
(1)\"YYYY\" – 比赛时间为YYYY年
(2)\"YYYY-MM\" – 比赛时间为YYYY年MM月
特别情况二:比赛持续多天进行,允许使用逗号(没有空格!)分隔列出其它天数
如下列简写方式:
(1)\"MM-DD\" – 前面是 YYYY-MM-DD、YYYY-MM、MM-DD、 MM 或 DD (2)\"MM\" – 前面是 YYYY-MM 或 MM
(3)\"DD\" – 前面是 YYYY-MM-DD、MM-DD 或 DD 示例:(1)1997-03-05 = 比赛在1997年3月5日进行
(2)1996-05,06 = 比赛在1996年5、6月进行
(3)1996-05-06,07,08 = 比赛在1996年5月6、7、8日进行 (4)1996,1997 = 比赛在1996年、1997年进行 (5)1996-12-27,28,1997-01-03,04 = 比赛在1996年的12月27、28日和1997年的1月3、4日进行
(6)1997年5月5、6日记为:1997-05-05,06而不是1997-05-05,1997-05-06
10.PC地点(Place)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:比赛发生的地点(例如城市、国家),也可以是围棋网络服务器
11.*RU规则(Rules)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:比赛规则(例如: 中国规则、日本规则、韩国规则、应氏规则等)
11
围棋棋谱文件详解 各属性的功能
12.TM对局时限(Timelimit)
属性类型:对局信息 详细类型:对局信息属性 值类型:实数
说明:每方规定的使用时间,如果应用软件不能把实数转换成易读的格式,是一件尴尬
的事情,尽管如此,还是请坚持使用实数值。
强制使用以下格式:时间使用以秒为单位的实数,例如 \"4600\不要使用:\"1 小时\"
13.*OT读秒方式(Overtime)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
14.PB黑方(Player Black)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:执黑者姓名,尽量保持姓名的一致,职业棋手推荐使用官方公布的姓名。
15.BR黑方段位(Black rank)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:表示执黑者的棋力 推荐使用下列格式:
(1)具有“级别”的棋手,使用“10k” 或 “10 kyu” (2)具有“段位”的棋手使用“3d”或“3 dan” (3)围棋服务器通常在被确定的段位后加“*”,在不被确定的段位后加“?”,例如“10k*”、“3d?”。由于围棋服务器段位和被围棋机构正式授予的段位都用“d”表示容易混淆,一些应用软件使用“p”作为被围棋机构正式授予的段位,以示区别。
16.BT黑方代表队(Black team)
属性类型:对局信息 详细类型:对局信息属性
12
围棋棋谱文件详解 各属性的功能
值类型:单文本
说明:执黑者所在的队名
17.PW白方(Player White)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:执白者姓名,尽量保持姓名的一致,职业棋手推荐使用官方公布的姓名。
18.WR白方段位(White rank)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:表示执白者的棋力 推荐使用下列格式:
(1)具有“级别”的棋手,使用“10k” 或 “10 kyu” (2)具有“段位”的棋手使用“3d”或“3 dan” (3)围棋服务器通常在被确定的段位后加“*”,在不被确定的段位后加“?”,例如“10k*”、“3d?”。由于围棋服务器段位和被围棋机构正式授予的段位都用“d”表示容易混淆,一些应用软件使用“p”作为被围棋机构正式授予的段位,以示区别。
19.WT白方代表队(White team)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本
说明:执白者所在的队名
20.KM贴目(Komi)
属性类型:对局信息 详细类型:对局信息属性 值类型:实数
说明:贴还(指贴还后手方的数目)
强制使用以下格式:使用实数,例如: \"5.5\等 不要使用: \"5点\半目\五又二分之一子\等
13
围棋棋谱文件详解 各属性的功能
21.HA让子(Handicap)
属性类型:对局信息 详细类型:对局信息属性 值类型:数
说明:让子的数目
强制使用以下格式:使用大于零的整数,例如: \"1\不要使用: \"二子\三\" 等
22.RE结果(Result)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本 说明:表示比赛结果 强制使用以下格式:
(1)\"0\" 表示和局;
(2)\"B+score\" 表示黑胜;
(3)\"W+score\" 表示白胜。示例:\"B+2.5\\"W+64\" or \"B+0.5\"表示赢棋目数,\"B+R\"/\"B+Resign\" 和 \"W+R\"/\"W+Resign\" 表示中盘胜,不能写作“黑中盘胜”
23.*ON开局名称(Opening name)
属性类型:对局信息 详细类型:对局信息属性 值类型:单文本 说明:描述开局 示例:三连星
(三)、走子(move) 1.B黑走子(Black)
属性类型:走子
详细类型:走子属性 值类型:走子
说明:是一个黑子的着子,可以对一个走子给予注释(例如恶手、有趣手等)或指示该
手后还剩多少时间。
特别说明一:属性B和属性W不能处于同一个节点中。 特别说明二:把设置属性和走子属性放在一个节点中是非法的,令人遗憾的是许多应用
软件允许混合设置属性和走子属性,导致用户创建不良风格的 SGF 文件。
14
围棋棋谱文件详解 各属性的功能
2.W白走子(White)
属性类型:走子 详细类型:走子属性 值类型:走子
说明:是一个白子的着子,可以对一个走子给予注释(例如恶手、有趣手等)或指示该
手后还剩多少时间。
特别说明一:属性B和属性W不能处于同一个节点中。 特别说明二:把设置属性和走子属性放在一个节点中是非法的,令人遗憾的是许多应用
软件允许混合设置属性和走子属性,导致用户创建不良风格的 SGF 文件。
3.*KO强制走子(Ko)
属性类型:走子 详细类型:走子属性 值类型:无值
说明:执行一个由属性B或W指定的走子,即使该走子不符合规则。
特别说明:在包含属性 KO 的节点中,如果没有黑走子或白走子,则是非法的。
4.MN设置手数(Set move number)
属性类型:走子 详细类型:走子属性 值类型:数
说明:设定手数的数值,就是指定该节点中走子具有这个确定的手数。该属性对于分支
或打印很有用。
5.TE手筋或妙手(Tesuji or Good move)
属性类型:走子
详细类型:走子注释属性 值类型:程度
6.BM恶手(Bad move)
属性类型:走子
详细类型:走子注释属性 值类型:程度
15
围棋棋谱文件详解 各属性的功能
7.DO疑问手(Doubtful)
属性类型:走子
详细类型:走子注释属性 值类型:无值
8.IT有趣手(Interesting)
属性类型:走子
详细类型:走子注释属性 值类型:无值
9.*BL执黑者剩余时间(Black time left)
属性类型:走子 详细类型:时间属性 值类型:实数
10.*WL执白者剩余时间(White time left)
属性类型:走子 详细类型:时间属性 值类型:实数
11.*OB执黑者尚需手数(OtStones Black)
属性类型:走子 详细类型:时间属性 值类型:数
12.*OW执白者尚需手数(OtStones White)
属性类型:走子 详细类型:时间属性 值类型:数
16
围棋棋谱文件详解 各属性的功能
(四)、设置(setup) 1.AB增加黑子(Add Black)
属性类型:设置
详细类型:设置属性 值类型(列表):棋子
说明:在棋盘上增加黑子。
该属性可用于设置棋形或问题。
增加黑子就是在指定的点用黑子“覆盖”,无论该位置之前是什么情况。 增加棋子不导致任何提子,也不导致任何其它吃子(例如自杀)。 这样可能在棋盘上产生非法的棋子位置。 被指定的点必须唯一。
2.AW增加白子(Add White)
属性类型:设置 详细类型:设置属性 值类型(列表):棋子
说明:在棋盘上增加白子。
该属性可用于设置棋形或问题。
增加白子就是在指定的点用黑子“覆盖”,无论该位置之前是什么情况。 增加棋子不导致任何提子,也不导致任何其它吃子(例如自杀)。 这样可能在棋盘上产生非法的棋子位置。 被指定的点必须唯一。
3.AW删除棋子(Add Empty)
属性类型:设置 详细类型:设置属性 值类型(列表):点
4.PL轮某方走(Player to play)
属性类型:设置 详细类型:设置属性 值类型:颜色
说明:属性 PL 描述轮谁走子。 该属性可用于设置位置或问题。
17
围棋棋谱文件详解 各属性的功能
(五)、无类型(-) 1.N节点名称(Nodename)
属性类型:无类型
详细类型:节点注释属性 值类型:单文本
2.C评论(comment)
属性类型:无类型
详细类型:节点注释属性 值类型:文本
3.GB黑好(Good for Black)
属性类型:无类型
详细类型:节点注释属性 值类型:程度
4.GW白好(Good for White)
属性类型:无类型
详细类型:节点注释属性 值类型:程度
5.DM两分(Even position)
属性类型:无类型
详细类型:节点注释属性 值类型:程度
6.UC形势不明(Unclear pos)
属性类型:无类型
详细类型:节点注释属性 值类型:程度
18
围棋棋谱文件详解 各属性的功能
7.*HO热点(Hotspot)
属性类型:无类型
详细类型:节点注释属性 值类型:程度
8.*V形势判断(Value)
属性类型:无类型 值类型:实数
详细类型:节点注释属性
说明:正数代表黑好,负数代表白好
9.TR三角(Triangle)
属性类型:无类型 详细类型:标记属性 值类型(列表):点
说明:很常见(自 FF[3] 起被引入) 示例:TR[de][df][ed][ee][ef][fd][dd]
10.MA X形记号(Mark)
属性类型:无类型 值类型(列表):点 详细类型:标记属性
说明:很常见(自 FF[3] 起被引入) 示例:MA[dh][di][dj][ej][fh][eh][ei]
11.CR圆形(Circle)
属性类型:无类型 详细类型:标记属性 值类型(列表):点
说明:很常见(自 FF[3] 起被引入) 示例:CR[oe][ne][nf][od][pd][of][nd]
12.SQ方块(Square)
属性类型:无类型
19
围棋棋谱文件详解 各属性的功能
详细类型:标记属性 值类型(列表):点
说明:很常见(自 FF[4] 起被引入) 示例:SQ[nh][ni][nj][oh][oi][oj][ph]
13.LB标签(Label)
属性类型:无类型 详细类型:标记属性 值类型(列表):(composed 点 “:” 单文本)
14.*SL选择(Selected)
属性类型:无类型 详细类型:标记属性 值类型(列表):点
说明:过时的,不常见。 图例:见图
15.*AR箭头(Arrow)
属性类型:无类型 详细类型:标记属性 值类型(列表):(composed 点 “:” 点) 说明:新的(自 FF[4] 起被引入),很不常见(也许将来会更常见) 图例:见图
16.*LN直线(Line)
属性类型:无类型 值类型(列表):(composed 点 “:” 点) 详细类型:标记属性
说明:新的(自 FF[4] 起被引入),很不常见(也许将来会更常见) 图例:见图
20
围棋棋谱文件详解 各属性的功能
17.*DD模糊变虚(Dim points)
特性:后继性 属性类型:无类型 详细类型:标记属性 值类型(列表):(点 I 压缩点阵) 说明:新的(自 FF[4] 起被引入),很不常见(也许将来会更常见) 图例:见图
18.*SE (Markup)
属性类型:无类型 详细类型:未分类 值类型:点
19.TW白棋的势力范围(Territory White)
属性类型:无类型 详细类型:未分类 值类型(列表):(点 I *压缩点阵)
20.TB黑棋的势力范围(Territory Black)
属性类型:无类型 详细类型:未分类 值类型(列表):(点 I *压缩点阵)
21.*AS (Who adds stones)
属性类型:无类型 详细类型:未分类 值类型:单文本
22.*VW可视区域(View)
特性:后继性 属性类型:无类型 详细类型:未分类
21
围棋棋谱文件详解 各属性的功能
值类型(列表):(点 I 压缩点阵)
23.*PM打印方式(Print move mode)
特性:后继性 属性类型:无类型 详细类型:未分类 值类型:数
24.*FG图形选项(Figure)
属性类型:无类型 详细类型:未分类
值类型:(无 | composed 数 \":\" 单文本)
22
因篇幅问题不能全部显示,请点此查看更多更全内容