5五将棋用棋譜フォーマットは、5五将棋におけるコンピュータ上での棋譜のやりとりを効率よく行う為の
記述方法です。
本将棋用に作られたプログラムからの移行の便を考慮して、CSA形式の棋譜ファイルフォーマットと共通
の記述が使えるようになっています。
CSA形式の棋譜フォーマットをご存じの方は、そちらをそのまま5五将棋のサイズで適用しなおしてくださ
れば対応できるようになっています。
ファイルはテキスト形式で扱い、文字エンコードや改行コードは出力するマシンの標準に合わせて構いません。
1行が1つの単位となります。
ただし、,(カンマ)で終わる行は次の行に続くものとして扱います。
駒の種類を記述する必要があるとき、アルファベット大文字2文字で次のように略します。
歩 | FU |
角 | KA |
飛 | HI |
銀 | GI |
金 | KI |
王 | OU |
と | TO |
馬 | UM |
竜 | RY |
成銀 | NG |
位置の情報を記述する必要があるとき、数字2桁で次のように表します。
例:2四の位置を表現するとき→24
なお、盤面は右上が11、左上が51、右下が15、左下が55です。
00は駒台を表します。
先手か後手かを明示する場合、+と-の記号を使います。
先手が+で、後手が-となります。
'(アポストロフィー)で始まる行はコメントとして無視します
5五将棋用棋譜フォーマットは以下の要素を持ちます。
このうち、バージョン情報と指し手情報以外は省略出来ます。
順序を変えることは出来ません。
その棋譜ファイルがどのバージョンの棋譜フォーマットに従うかを記述します。
この文章のバージョンは、「V2.1-55」です。
コメントを除く最初の行に次のように記述して下さい。
V2.1-55
対局に関する情報を記述します。
この項目は省略することが出来ます。
この項目は、次で示す属性と値の組を、任意の個数・好きな順番で記述します。
この項目のデータは、Nか$で始まります。
N+(文字列)
N-(文字列)
N+が先手の名前、N-が後手の名前を記述します。
$EVENT:(文字列)
大会名などを記述します。
$SITE:(文字列)
対局場所を示す文字列を記述します。
$START_TIME:YYYY/MM/DD hh:mm:ss
対局が始まった時刻を記述します。
YYYYに西暦年を、MMに月の数字を、DDに日付を記述します。
hh:mm:ssに、24時間式での時間を記述します。時間は省略出来ます。
$END_TIME:YYYY/MM/DD hh:mm:ss
対局が終了した時刻を記述します。
記述法は対局開始日時と同じです。
$TIME_LIMIT:hh:mm+ss
持ち時間を記述します。
hh:mmに、持ち時間が何時間何分なのかを記述します。
+ssに、秒読みが何秒あるのかを記述します。
棋譜ファイルの開始時点での局面を記述します。
この項目は省略することができます。その場合、標準の初期配置(PI)であるものとします。
この項目のデータは全てPで始まります。
初期配置の記述にはいくつかの方法があります。
PI
PIとだけ記述すると、標準の初期配置がそのまま使われます。
PI15HI14KA
PIの後に位置・駒の種類の組み合わせを記述することによって、指定された駒を落とします。
例の場合、5一の飛車と4一の角を落として開始します。
P1-HI-KA-GI-KI-OUP2 * * * * -FUP3 * * * * * P4+FU * * * * P5+OU+KI+GI+KA+HI
Pに続けて行番号を書くと、その行の駒を一括して配置出来ます。
例の場合、標準の初期は位置と同じになります。
駒は3文字で表します。最初の一文字が先手後手符号、次の2文字が駒の略称となります。一文字目が+でも-でもない場合は空白として扱います。
P-22GI
駒を1つ1つ置く場合、Pに続けて、先手後手符号・位置・駒の略称を記述します。
P+00FU
駒台に駒を置くことも出来ます。
P-00AL
ALを駒の略称にすると、今使っていない全ての駒を表します。
+
-
開始時点でどちらの手番なのかを記述します。
この情報は省略出来ます。
先手後手符号を記述して下さい。
実際に指された手を記述します。
手の情報を、指された順に上から記述していきます。
+3544GI
指し手は、先手後手符号・移動前の位置・移動後の位置・移動後の駒の種類で表します。
例は、先手が35にあった銀を44に動かしたことになります。
駒が成るときは、移動後の駒を成った後の駒にすれば表せます。
-4152KAT15
駒の移動の情報の次の行に、Tで始まる行を記述すると、直前の手の消費時間を秒単位で記述出来ます。
例は、後手が41の角を52に動かし、その手に15秒消費したことになります。
移動情報の代わりに、次のような特殊な指し手を記述することが出来ます。
投了 | %TORYO |
中断 | %CHUDAN |
千日手 | %SENNICHITE |
時間切れ | %TIME_UP (手番側の時間切れ) |
反則負け | %ILLEGAL_MOVE (手番側の反則負け、反則の内容はコメントで記録可能) |
持将棋 | %JISHOGI |
(入玉で)勝ちの宣言 | %KACHI |
(入玉で)引き分けの宣言 | %HIKIWAKE |
待った | %MATTA |
詰み | %TSUMI |
不詰 | %FUZUMI |
エラー | %ERROR |
'ここからサンプル 'バージョン情報 V2.1-55 '対局情報 N+SUGATA N-NAKASHIZU $SITE:SHOGI_DOJO '初期配置 PI + '棋譜 +3534GI T5 -3122GI T6 +2514HI T3 -4114KA T10 +1514HI T5 %CHUDAN 'ここまでサンプル