オープンソースのチェスプレイまたはライブラリを表示するPGN


15

次のいずれかを実行できる言語のオープンソースチェスライブラリに精通している人はいますか。

  • PGNおよび/またはFENの解析
  • 位置に基づいて有効なチェスの動きを計算する
  • チェスゲーム全体を処理する

編集:

申し訳ありませんが、私はもっと明確にする必要があります。私はオープンソースソフトウェアを探しているのではなく、オープンソースプログラミングライブラリを探しています。

回答:


9

干し魚

Stockfish(ウェブサイトgithub)は、オープンソースで非常に強力なUCIエンジンです。そのため、求めていることはすべて実行できますが、そのためには通常GUIが必要です。ただし、コマンドプロンプト/シェルからもすべての機能にアクセスできます。


11

Craftな

Craftyは強力なチェスプログラムであり、Winboard、Xboard、およびScidで使用できます。そのため、すべての主要なオペレーティングシステムで使用できます。

シド

Scidはチェスゲームのデータベースを維持でき、ゲームを分析(終了)できます。このソフトウェアはすべての主要なオペレーティングシステムで使用できます。

Xboard

Xboardは、インターネットチェスサーバーへのユーザーインターフェイスです。X Windowsシステムを使用しているため、これはGNU / Linuxでのみ実行されると想定しています。Xboardはビューアとして使用でき、すべての形式のチェスをサポートします。


10

PyChess

Pythonで構築されたチェスクライアントです。チェスロジックライブラリを問題なく使用できます。

ライブラリを使用してチェスエンジンを制御する方法の例ですが、チェスロジックのみを使用することもできます。

from pychess.Utils.Board import Board
from pychess.Utils.lutils.lmove import toSAN
from pychess.Utils.lutils.lmovegen import genAllMoves
board = Board(setup=True).board
for move in genAllMoves (board):
    print (toSAN (board, move)))

組み込みエンジンに使用されるため非常に高速であり、SANの移動の長いリストの解析、チェック回避の生成、静的交換評価(SEE)などの多くの高度な機能を備えています。


共有してくれてありがとう、とても興味深い。上記は何をしますか?同様のスニペットは、ディスクからPGNファイルをインポートし、同様のループですべての動きを印刷できますか?HTMLをエクスポートするライブラリはありますか?同様のスクリプトの作成に役立つドキュメントはありますか?
ジョー

そして、リンクを確認すると、実際のツールはWindowsで実行されていないようです-まだ。ただし、上記のコードはWindowsでヘッドレスモードで実行されると思いますか?
ジョー

1
上記のコードは、標準代数表記法を使用して、デフォルトの位置で白のすべての可能な動きを印刷します。動きの解析も同じモジュールのカップルで簡単です。あなたのプロジェクトがGPLであれば、lutilsモジュール全体をコピーします。これは純粋なPythonであり、Linux固有のプロセス処理を必要としません。
トーマスエール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.