しょ碁スの棋譜をパースする
以下の要素が順番に(間にスペースなど入れず)出てくるのが「一手」。この「一手」の集まりが棋譜。一手と一手の間には任意個のスペースや改行を入れることができる。
- 「黒」「▲」「☗」「白」「△」「☖」のどれか
- 移動先の座標。「55」「55」「55」「5五」「5五」などを受け付ける
- 駒の種類。「香」「桂」「銀」「金」「成香」「成桂」「成銀」「杏」「圭」「全」「ク」「ル」「ナ」「ビ」「ポ」「歩」「兵」「と」「キ」「王」「超」を受け付ける
- (オプショナル)移動元の指定。「右」「左」「打」と、丸括弧で囲まれた座標(つまり、「(55)」「(5五)」など)に対応。「直」とかには対応していない
- (オプショナル)「成」または「不成」
- (オプショナル)碁石が置かれる座標の指定。「5五」など
くまりんぐ・キャスリングは、ともにキング王の動きとして書く(shogoss-core には、キング王が「周り一マス」ではない動き方をしているのを検知してキャスリング or くまりんぐを自動で実行する仕組みが実装してある)
▲7三桂(85)成7四
→ 8五にあった桂馬が、7三に移動して、成った。そしてその後7四に碁石を打った
src/index.test.ts にもっと具体例がある。