棋譜ファイル KIF 形式

更新 2018/6/27 柿木 義一

1.概要

 柿木将棋や「Kifu for シリーズ」の KIF形式棋譜ファイルは、以下の形式のテキストファイルである。

2.文字コードと改行コード

 文字コードは、拡張子が ".kif" の場合は Shift-JIS、".kifu" の場合は UTF-8 である。

 改行コードは、使う OS の標準的なコードとする。
Windows なら、CR,LF である。

3.棋譜ファイルの例

# ---- Kifu for Windows95 V3.53 棋譜ファイル ----
開始日時:1999/07/15(木) 19:07:12
終了日時:1999/07/15(木) 19:07:17
手合割:平手
先手:先手の対局者名
後手:後手の対局者名
手数----指手---------消費時間-- # この行は、なくてもいい
1 7六歩(77) ( 0:16/00:00:16)
2 3四歩(33) ( 0:00/00:00:00)
3 中断 ( 0:03/ 0:00:19)

4.プログラムが読み飛ばすコメント

 先頭が 「#」で始まる行は、プログラムが読み飛ばすコメント行である。
どこに挿入されてもいいし、また、削除してもよい。

5.手合割

 手合割は、次の形式で、表記する。

手合割:平手

 手合割は、次のいずれかでないといけない。

「平手」、「香落ち」、「右香落ち」、「角落ち」、「飛車落ち」、「飛香落ち」、「二枚落ち」、「三枚落ち」、「四枚落ち」、「五枚落ち」、「左五枚落ち」、「六枚落ち」、「八枚落ち」、「十枚落ち」、「その他」

省略したときは、平手と判断する。

6.対局者名

「先手:」「後手:」「下手:」「上手:」以降は、対局者名を示す。

7.対局情報

 「(キーワード):」で始まる情報を追加できる。
標準で、次の情報があり、さらにユーザが任意のものを追加できる。

「開始日時」(「対局日」も可)
 開始日時、終了日時は、「1999/07/15」 の形式で、日付を記録しなければいけない。
「終了日時」
「棋戦」
「戦型」
「表題」
「持ち時間」
「消費時間」
「場所」
「掲載」
「備考」
「先手省略名」:局面図の印刷等に使用する。
「後手省略名」:局面図の印刷等に使用する。

8.詰将棋情報

作品番号
作品名
作者
発表誌
発表年月
出典
手数
完全性
分類
受賞
備考:対局情報としても使われる。

9.指し手の表記方法

 指し手を次の形式で表示する。

<指し手> = [<手番>]<移動先座標><駒>[<装飾子>]<移動元座標>
<手番> = "▲" | "△"
▲: 先手(下手)、△:後手(上手)
※現在、 手番は省略している。
<移動先座標> = <X座標><Y座標> | "同 "

<X座標> "1"~"9":全角アラビア数字
<Y座標> "一"~"九":全角漢数字
"同 "は、直前の指し手の移動先
<駒> 駒名
玉、飛、龍、角、馬、金、銀、成銀、桂、成桂、香、成香、歩、と
龍を「竜」であらわす場合もある。
成銀を「全」、成桂を「圭」、成香を「杏」であらわす場合もある(「詰将棋パラダイス」でも使用)。
<装飾子> = ["打" | "成"]
打つ場合は、必ず「打」を付ける。
不成の場合は、"不成"を表記しない。
<移動元座標> = "(11)"~"(99)" :()で囲んだ半角2桁の数字

 指し手には、通常のもの以外に、終局・中断時の次の表記がある

「中断」「投了」「持将棋」「千日手」「詰み」「切れ負け」「反則勝ち」「反則負け」
「反則勝ち」は、直前の指し手が反則であることを示す。
「反則負け」は、その指し手の手番側が何らかの反則で負けたことを示す。

 指し手の表記例:2三歩成(24)

10.消費時間

 指し手と同じ行で、指し手の後に、その指し手の消費時間を表記する。
 消費時間の()内の最初の数字は、その1手の消費時間(分:秒)、次の数字は、累積の消費時間(時:分:秒)を示す。
 消費時間は、省略できる。

11.開始局面

 詰将棋や任意の局面から始まる棋譜は、指し手の前に、開始局面が付く。
初期配置から始まる棋譜(駒落ちを含む)は、開始局面を省略できる。

12.指し手のコメント

 各指し手の後に「*」で始まる行があると、その指し手に対するコメントになる(複数行可)。
 初手の前のコメントは、開始局面のコメントとなる。

13.しおり

 「&」で始まる行は、その前の手を指した局面に対するしおりを示す。
「&」の後は、しおり名を示す。

&<しおり名>

14.履歴