分岐
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歩*/ } ] }