na2hiro / json-kifu-format

JSON棋譜フォーマット(JKF)の定義とKIF, KI2, CSAからの変換ライブラリ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

分岐

na2hiro opened this issue · comments

どう格納するか

  • ポインタ方式
    • KIF, KI2が採用
    • 分岐がある棋譜の末尾には+を書く
    • 一番後に出てくる分岐を一番前に書くっぽい
  • 埋め込み方式
    • MoveFormatの1フィールドに分岐fork: MoveFormat[][],つまり棋譜列を複数持つ配列を追加する
    • JSONであることを活かしている

後者に問題がなければ後者を選択したい

後者を採用します.

  • forkフィールドのついているMoveFormatは,そのMoveの替わりとなる手を先頭に持つMoveFormat配列とします.
    • 通常のmovesの0番目は初期局面であるが,分岐の初期局面は持たないものとする
  • 例えば,初手76歩84歩に初手56歩34歩の分岐を付ける場合,以下のようになる.
    { moves:[ {/*0手目 初期局面コメント用*/}, { move:/*1手目 76歩*/, fork:[ [{move:/*分岐1手目 56歩*/}, {move:/*分岐2手目 34歩*/}] ] }, { move:/*2手目 84歩*/ } ] }

05624be までで対応