Python

【囲碁】SGF棋譜ファイル反転スクリプト / Reverse SGF script

囲碁の棋譜(SGFファイル形式)の向きを反転するスクリプトです。
Pythonが動作する環境で使うことが出来ます。

幽玄の間などのいくつかの対局サイトでは、ダウンロードした棋譜が黒番から見た向きになっていて、自分が白番だった場合に上下が反対になってしまいます。
棋譜をダウンロードしてAIなどに読み込ませて検討する際に、視点が逆になっていて見にくかった経験があると思います。
そのような場合に使うと便利なスクリプトになっています。

主な特徴

  • 動作確認済み対局サイト:OGS / 幽玄の間(Kiin EditorでSGFに変換) / 野狐囲碁 / 東洋囲碁
  • 13路、9路など、19路以外の棋譜にも対応
  • 置き碁にも対応

ダウンロード

以下のリンクからダウンロードできます。

zipファイルの中身は、Pythonスクリプト本体とWindows用の起動スクリプトです。

使い方

準備

Pythonがインストールされていない場合、以下のサイトなどからダウンロードしてインストールします。

https://www.python.org/downloads/

動作確認していませんが、WindowsのMicrosoft storeや、Macの Homebrew などを利用してインストールしても良いと思います。

スクリプトの実行

以下の様に、Pythonスクリプトの第一引数としてSGFファイルのファイルパスを渡します。

$python go_reverse_sgf.py ./kifu_sample.sgf

WIndowsでPythonランチャー (py.exe)を利用している場合は、pyコマンドでも起動できます。

スクリプトを実行すると、入力のSGFファイルと同じフォルダに (元のファイル名)_reversed.sgf という名前で反転したSGFファイルを出力します。

Windows用の便利なバッチファイル

ドラッグ・アンド・ドロップでGUIからファイルを変換できるように、起動スクリプトを作成しました。(launch script for Windows.bat)

Windows環境であれば、SGFファイルをマウス操作だけで変換可能です。

デスクトップなどにbatファイルのショートカットを作成すると便利かもしれません。

ソースコード

Pythonスクリプトのソースコードは、GitHubで公開しています。

Issue、Pull Request等あれば歓迎いたします。(必ず対応できるとは限りませんが)

免責事項

  1. 一般的な免責事項
    このPythonスクリプトの作者(以下「作者」)は、以下の条件に基づいて本スクリプトの使用に関連するいかなる損害についても責任を負いません。
  2. 利用の自己責任
    ユーザーは、本スクリプトを利用する際に自己の責任で行うものとし、作者は一切の責任を負わないものとします。
  3. スクリプトの改変に関する責任免除
    本スクリプトは自由に改変できますが、改変によって生じた如何なる事象においても作者は責任を負いません。
  4. 動作の保証の否認
    このソフトウェアは、現状有姿で提供され、どのような環境でも動作することを保証しません。
  5. ファイルの変更とバックアップ
    本スクリプトの元のファイルは変更しないように設計されていますが、ユーザーが自身でバックアップを取るなどの対策を講じることを推奨します。

この記事は役に立ちましたか?

  • この記事を書いた人
アバター画像

ゴイチ

ソフトウェアエンジニア歴20年。 C/C++, C#, Java, Kotlinが得意で、組込系・スマホ・大規模なWebサービスなど幅広いプログラミング経験があります。 現在は某SNSの会社でWebエンジニアをしています。

-Python
-