智能游戏格式

智能游戏格式(Smart Game Format,简称SGF)是一种用于存储棋盘游戏记录的计算机文件格式。围棋是最常见的用这种格式记录的游戏,并且是默认的。SGF最初是由Anders Kierulf为他的SmartGO程序创建的,当时具有不同的名称。该格式的当前版本是4。

SGF的主要目的是存储已玩游戏的记录,并提供存储注释和分析游戏(例如棋盘标记,变化)的功能。它是纯文本,基于树形结构的格式。树型结构使添加变化变得简单。为了便于移植,它也是基于文本的,而不是二进制的。

以 SGF 格式存储的游戏可以轻松地通过电子邮件发送、发布或使用基于文本的工具进行处理。 1990 年以来的大多数互联网围棋服务器和围棋软件都支持这种格式。

关于格式
一个 SGF 文件由属性和属性值的成对组成,每个属性和属性值描述游戏的一个特征。以下是一部分属性的列表。

没有严格检查这些标签的内容,因此可以将任何文本放入例如结果标签中。

变体嵌套在括号中,通常也分配字母。第一个分支(变体 A)是主分支。 这种表示法源于Newick 格式。

点和移动的坐标系
第一个字母代表列(从左到右),第二个字母代表行(从上到下)。棋盘的左上角用于小棋盘,例如用于13*13棋盘的字母"a"-"m"。

作者故意打破了用字母“A”到“T”(不包括“I”)和数字1-19标记棋步(和点数)的传统。为了简便和紧凑起见,改用了范围在“a”到“s”的两个小写字母。

棋盘的左上角作为起点,对应于大多数现代计算机绘制屏幕坐标的方式,以简化文本和图形的集成。

支持的游戏
遊戲種類以編號表示,寫在屬性GM中,如圍棋為GM[1]。下表為SGF支持的遊戲與對應編號。

格式版本
SGF的第一个版本FF [1]由Anders Kierulf在1987年构思。它是他的博士论文附录A[3]。FF[3]由Martin Müller于1993年编写。当前版本的SGF是Arno Hollosi的FF [4],并且受到大多数当前SGF阅读器的支持。FF [2]从未公开发布。该格式已根据开放内容许可证公开发布。当前开发状态(2016)为“非活动状态”。

限制

  • 语言:围棋在中国、日本和韩国被广泛使用,但 SGF 格式无法为文本指定不同的翻译。
  • 元数据:只能存在一组有限的、固定的元数据,例如,SGF 有排名字段,但无法表示正在使用的排名系统。
  • 便携式游戏符号- 记录国际象棋游戏的格式
  • 便携式草稿符号

参考
外部链接
*

评论 (0)

  • 还没有评论,来抢沙发吧。