Giter Site home page Giter Site logo

kif-parser's Introduction

kif-parser

WIP 作業中です。

将棋ソフト間で受け渡しされる棋譜ファイル形式(.kif, .kifu)の仕様のゆらぎを解決するためのプログラムです。
ShogiGUI で作成した .kifu ファイルを、 将棋所のフォーマットに変換したり、その逆ができます。
このアプリケーションは 翻訳 に似ています

現在対応を進めているのは2ソフトです

Set up(設定)

python.exe is_ready.py
# または
is_ready.py

👆 Python3をインストールして、is_ready.py スクリプトを実行してください

readyok

👆 問題なければ readyok と表示されます

デスクトップGUI版

20211017shogi26.png

python.exe gui.py
# または
gui.py

👆 操作方法は画面を見て想像してください。 GUI版の説明は省略します

Attention(注意)

初めに注意。
以下のスクリプト版を使う場合、
棋譜ファイルはバックアップを残しておいてください。
このアプリケーションでは、棋譜ファイルのコピーを利用してください。

Smoke test(最初の動作確認)

このアプリケーションの最上位ディレクトリーに

  • 📄20211002_223506_KifuwarabeW31B22vsKifuwarabeW31B22[shogigui].kif
  • 📄20211002_223506_KifuwarabeW31B22vsKifuwarabeW31B22[shogigui].kifu

という KIFファイルと、 KIFUファイル を置いてあります。
これは ShogiGUI で出力したファイルですが、これを 将棋所 のフォーマットに変換する例を示します

同じく最上位ディレクトリーに 📂input フォルダーがありますので、ここに 📄20211002_223506_KifuwarabeW31B22vsKifuwarabeW31B22[shogigui].kif のコピーを置いてください。
このアプリケーションで棋譜ファイルを使う(翻訳する)場合、必ずバックアップを取っておいて コピーの方を使ってください

以下のコマンドを打鍵してください

python.exe translate.py -s kif -d kifu -t shogidokoro
                        ------ ------- --------------
                        1      2       3
  1. -s kif - 変換前は kif 形式です。他に kifu を指定できます
  2. -d kifu - 変換後は kifu 形式です。他に kif を指定できます
  3. -t shogidokoro - 変換後は 将棋所のフォーマットにします。他に shogigui を指定できます

そのあと、同じく最上位ディレクトリーの 📂output フォルダーの中を確認してください。以下のファイルが生成されています

  • 20211002_223506_KifuwarabeW31B22vsKifuwarabeW31B22[shogidokoro].kifu

ファイルを1つ1つ指定することはできず、フォルダーの中にあるファイルがすべて翻訳の対象になります

Danger(危険)

危険な操作を先に覚えてしまいましょう

翻訳の過程で作られる一時ファイルを全部残す

python.exe translate.py -s kif -d kifu -t shogidokoro --debug
                                                      -------
                                                      1
  1. --debug - 翻訳の途中で大量の一時ファイルを作りますが、それを消さずに残します

以下のフォルダーの中を確認してみてください

  • 📂temporary/to-pivot/kif
  • 📂temporary/to-pivot/kifu
  • 📂temporary/to-pivot/object
  • 📂temporary/to-pivot/reverse-kifu
  • 📂temporary/to-pivot/reverse-kif
  • 📂temporary/output-pivot
  • 📂temporary/from-pivot/pivot
  • 📂temporary/from-pivot/reverse-pivot

inputフォルダーの中のファイル消す

📂input フォルダーの中の棋譜ファイルを削除するコマンドは以下の通りです

python.exe debug.py --rmin
                    ------
                    1
  • --rmin - remove input の略語。inputフォルダーの中の .kif, .kifu, .json, .toml ファイルを削除します

他に 📂outputフォルダーの中を消す --rmout
📂temporaryフォルダーの中を消す --rmtmp オプションもあります

Documents

未整理

📖 .kifファイルの問題点の洗い出し
📖 .kifファイルの利用実態の調査
📖 .KIF に変わる棋譜保存フォーマット仕様の提案、および その変換アルゴリズム。(未着手) 📖 .kifファイルの国際化に向けた翻訳について
📖 kif-parser の展望
📖 kif-parser 開発者向けドキュメント

Other site documents

📖 棋譜ファイル KIF 形式 - オリジナルである柿木将棋での仕様
📖 分岐棋譜→単一棋譜変換プログラム - 白砂 青松によるオリジナルにはない「変化」の説明。2004年
📖 KIF形式を調べようぜ(^~^)?
📖 将棋の符号
📖 Kif - lishogiによる KIFフォーマットの説明

UTF-8, Shift-JIS変換

📖 BOMの消去

tkinter

📖 【Python3】tkinterでonChange的なイベントを捕まえたい

kif-parser's People

Contributors

muzudho avatar

Stargazers

ishidama avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.