📘 JS将棋デスクトップ版

2021/10/29

JS将棋のデスクトップ版  このプログラムは将棋の棋譜研究と、詰め将棋のために WEB アプリケーションとして作りました。 最初 Perl + HTML で動いていましたが、Perl のコードを Python に移植し、Eel によってデスクトップアプリ化しました。 基本的に、右側(あるいは下側)のリンクから開く「JS将棋」と同じものですが、WEB 版が詰め将棋解答時間を3秒に制限しているのに対し、デスクトップ版は解答時間5分、11手詰めまでとなっています。


インストール

Windows の場合: ZIPファイル を解凍し、中にある JS.exe をダブルクリックすれば動きます。
JS.exe へのショートカットを作成するといいかもしれません。

Ubuntu 系 Linux の場合: tgzファイル を解凍し、中にある js というプログラムを実行します。

その他の OS(Mac含む) の場合: tgzファイル をダウンロードした後、以下のようにします。

# どこか問題ないディレクトリで解凍します
$ tar xzvf src.tgz
$ cd src
# eel, chardet が必要(Python の推奨 Ver. は 3.8〜)。
# 入っていなければインストールします(場合によっては管理者権限)。
$ pip install eel
$ pip install chardet
# その上で以下のコマンドを実行します(./js.py とするとなぜかひどいことに……)。
$ python js.py

使用例

 あらかじめ まいにち詰将棋などからダウンロードした KIF ファイルを[棋譜]-[ファイル選択]などで読ませます。
 [ヘルプ]にあるように、◀▶キーで手を進められますが、ハンバーガーメニューから[AI詰み判定]をクリックすると、下のメモ欄に解析された指し手が表示されます(5手以内なら2-3秒)。
 詰め将棋以外の KIF 形式の棋譜を読ませることもできます。
 アプリを終了するにはウィンドウ右上の[☓]ボタンを押してください。

 また、棋戦観戦中に、これは詰みかななどという場面で、AI詰み判定を走らせるなどという使い方も考えられます。 詰め判定は後手王に対してしかきかないので、先手の詰みを判定する場合[先手後手交代]コマンドを先に実行する必要があります。

更新履歴

Ver.511: 先手後手交代のバグを修正。

MIT ライセンス

 このプログラムは以下の MIT ライセンスの下に公開しています。

Copyright © 2021 峰山進

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。 これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。 上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

参考: JS将棋