CSA形式のデータ書き出し部 解説

さて、今回からはCSAファイルの書き出し部について解説していきます。
と言っても、「CSAファイルの書き出し」の記事は誰も期待してませんよね。


CSAファイルの読み込みにしても、棋譜からの学習のときにCSAファイルを読み込むのにいる程度。
LAN対戦はUSIプロトコルに対応させて将棋所を使うほうが楽でしょうし、CSAファイルの書き出しもデバッグのときに局面を出力できればいいかな程度。市販の将棋ソフトでなければサポートしなくても全然困りません。


ということで、Bonanzaの「CSAファイルの書き出し」の解説は、誰も期待していないと思うのでささっと終わらせます。


BonanzaのCSAファイルの読み込みのときに解説しましたが、CSA_headerというのは記録されている開始局面のことでして、out_CSA_header (csa.cに実装がある)とは、すなわち現在の局面をCSAファイルに出力する関数になります。


そのあと、指し手をCSAの指し手文字列に変換する関数が str_CSA_move( move ) でして、これで変換した文字列をfprintfで書きだしていけば、それでCSAファイルが完成します。


csa.cにあるout_CSAという関数の実装がちょうどそんな感じになっていて、この関数を見れば使い方がわかるんじゃないかなぁということで、CSA書き出し部の解説はおしまい!