智能遊戲格式

棋盘游戏记谱文件格式

智能遊戲格式(Smart Game Format,簡稱SGF)是一種用於儲存棋盤遊戲記錄的電腦檔案格式。圍棋是最常見的用這種格式記錄的遊戲,並且是預設的。SGF最初是由Anders Kierulf為他的SmartGO程式建立的,當時具有不同的名稱。該格式的目前版本是4。

Smart Game Format
副檔名
.sgf
開發者Anders Kierulf (1987, FF1), Martin Mueller (1993, FF3), Arno Hollosi (1997, FF4)
首次發佈1987
最新版本
4
1997
格式類型mark up text
作為容器Go (game) record
自由格式yes
網站www.red-bean.com/sgf/

SGF的主要目的是儲存已玩遊戲的記錄,並提供儲存註釋和分析遊戲(例如棋盤標記,變化)的功能。它是純文字,基於樹形結構的格式。樹型結構使添加變化變得簡單。為了便於移植,它也是基於文字的,而不是二進制的。

以 SGF 格式儲存的遊戲可以輕鬆地通過電子郵件傳送、發佈或使用基於文字的工具進行處理。 1990 年以來的大多數互聯網圍棋伺服器圍棋軟件都支援這種格式。

關于格式

編輯

一個 SGF 檔案由屬性和屬性值的成對組成,每個屬性和屬性值描述遊戲的一個特徵。以下是一部分屬性的列表。 [1]

AB 添加黑子:在第一步之前要放置在棋盤上的黑子位置
AW 添加白子:第一步之前要放置在棋盤上的白子的位置。
AN 註釋:評論遊戲的人的名字。
AP 應用程式:用於建立 SGF 檔案的應用程式(例如CGOban2,. . . ).
B 黑方在屬性值指定的位置下棋。
BR Black Rank:黑色玩家的等級。
BR 黑隊:黑隊的名稱。
C 評論:評論。
CP 版權所有:版權資訊。
DT 日期:比賽日期。
EV 事件:事件的名稱(例如第 58 屆Honinbō冠軍賽)。
FF 檔案格式:管理此 SGF 檔案的 SGF 規範版本。
GM 遊戲:此 SGF 檔案代表的遊戲類型。屬性值為 1 表示 Go。
GN 遊戲名稱:遊戲記錄的名稱。
HA 讓子:給黑棋的讓子數。使用 AB 屬性設置障礙石的位置。
KM Komi:貼目
ON Opening:關於開局( 佈局 )的資訊,很少在任何檔案中使用。
OT 加時:加時制度。
B Black Name:執黑棋手名字。
PC 地點:比賽進行的地點(例如:東京)。
PL 棋手所執棋子顏色。
PW 白子棋手名字。
RE Result:結果,通常格式為「B+R」(黑方勝退)或「B+3.5」(黑方勝3.5)。
RO Round回合:(如:第5場比賽)。
RU Rule規則:規則集(例如:日本規則)。
SO Source來源:SGF 檔案的來源。
SZ Size尺寸:棋盤尺寸,支援非正方形板子。
TM Time limit時間限制:以秒為單位的時間限制。
US User用戶:建立 SGF 檔案的人的姓名。
W 白棋在屬性值指定的位置下棋。
WR 白色等級:白色玩家的等級。
WT 白隊:白隊的名稱。

沒有嚴格檢查這些標籤的內容,因此可以將任何文字放入例如結果標籤中。

變體巢狀在括號中,通常也分配字母。第一個分支(變體 A)是主分支。 [2]這種表示法源於Newick 格式。

點和移動的坐標系

編輯

第一個字母代表列(從左到右),第二個字母代表行(從上到下)。棋盤的左上角用於小棋盤,例如用於13*13棋盤的字母"a"-"m"。

作者故意打破了用字母「A」到「T」(不包括「I」)和數字1-19標記棋步(和點數)的傳統。為了簡便和緊湊起見,改用了範圍在「a」到「s」的兩個小寫字母。

棋盤的左上角作為起點,對應於大多數現代電腦繪製螢幕坐標的方式,以簡化文字和圖形的整合。

支援的遊戲

編輯

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

遊戲 編號[3] 遊戲 編號 遊戲 編號 遊戲 編號
圍棋 1 六貫棋 11 通橋棋 21 Tripples 31
黑白棋 2 鬥獸棋 12 冰山棋 22 Chase 32
國際象棋 3 中子棋 13 Plateau英語Plateau (game) 23 塔王棋 33
五子棋連珠 4 哲球棋 14 圈套棋 24 Sahara 34
直棋 5 Quadrature 15 雪地棋 25 Byte 35
雙陸棋 6 新西蘭圈棋 16 套筒棋 26 聚焦棋 36
中國象棋 7 Tantrix英語Tantrix 17 昆蟲棋 27 火山棋 37
日本將棋 8 亞馬遜棋 18 造島棋 28 沙漏棋 38
集結棋 9 八爪跳棋 19 板棋 29 星盤棋 39
同化棋 10 群相棋 20 Kuba 30 圍點棋 40

格式版本

編輯

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 有排名欄位,但無法表示正在使用的排名系統。

參考

編輯
  1. ^ Official Guide. Red-bean.com. 6 August 2006 [12 February 2016]. (原始內容存檔於2020-11-16). 
  2. ^ Variation Guide. Red-bean.com. 7 January 1999 [12 February 2016]. (原始內容存檔於2020-10-20). 
  3. ^ SGF Properties (FF[4]). 2006-06-25 [2023-06-07]. (原始內容存檔於2023-04-08). 

外部連結

編輯