オープンソースの将棋 GUI を C++ で作っています。 思考エンジンと通信するための USI プロトコルに対応しており、次の特徴があります。
- マルチプラットフォーム - Windows, macOS, Linux, WebAssembly
- MultiPV 表示
- UI は Qt ベース
- 棋譜の解析モード
- 棋譜読込・保存
- 多言語対応(日本語、英語)
ソースファイルをビルドして実行ファイルを作成するために、次のとおり開発環境を用意します。
-
WebAssembly
- Emscripten
- Qt for WebAssembly (multithread)
Qt Company が提供している WebAssembly 向けバイナリはシングルスレッド版です(2023 年 1 月現在)。マルチスレッド版はソースからビルドする必要があります。
-
デスクトップ版 - Windows, macOS, Linux
- コンパイラ (gcc や clang など)
- Qt バージョン 6 for Desktop
- リポジトリ取得
$ git clone --recursive https://github.com/shogimaru/shogimaru.git
- 将棋思考エンジン(やねうら王)をコンパイル
WebAssembly 向けに Makefile を適宜修正する。
$ cd engines/YaneuraOu/source/
$ make
- 将棋丸をコンパイル
- WebAssembly(マルチスレッド版) Emscripten(3.1.14)環境を有効にした上で次のコマンドを実行する。
$ qmake -spec wasm-emscripten CONFIG+=release && make
- リポジトリ取得
$ git clone --recursive https://github.com/shogimaru/shogimaru.git
- 将棋丸をコンパイル
$ qmake CONFIG+=release
$ make
(clang の場合)
$ qmake -spec linux-clang CONFIG+=release
$ make
※ 将棋思考エンジンには公開されている実行ファイルを使えばよいので、ここではコンパイルする必要はない
リリースされたソースコードやバイナリは こちら でダウンロードできます。
- 将棋丸 WebAssembly 版
- 将棋丸(英語版) WebAssembly 版 ... 英語版と日本語版の WebAssembly 自体は同じものです
- 将棋丸の使い方を少しずつ書いています - 操作マニュアル
- Twitter @shogimaru