Échecs open source jouant ou visionnant des bibliothèques pgn

15

Quelqu'un connaît-il les bibliothèques d'échecs open source dans n'importe quelle langue qui peut effectuer l'une des opérations suivantes:

  • analyser les PGN et / ou les FEN
  • calculer les mouvements d'échecs valides en fonction de la position
  • traiter un jeu d'échecs entier

ÉDITER:

Désolé, je devrais être plus clair. Je ne recherche pas de logiciels open source, je recherche des bibliothèques de programmation open source.

James Tomasino
la source

Réponses:

9

Stockfisch

Stockfish ( site Web et github ) est un moteur UCI open source et très puissant . En tant que tel, il peut faire tout ce que vous demandez, mais nécessite généralement une interface graphique pour le faire. Vous pouvez cependant accéder à toutes les fonctionnalités via une invite de commande / shell également.

Bryan
la source
11

Rusé

Crafty est un programme d'échecs puissant et peut être utilisé avec Winboard, Xboard et Scid. Il est donc disponible pour tous les principaux systèmes d'exploitation.

Scid

Scid peut maintenir des bases de données de parties d'échecs, vous pouvez analyser (terminer) des parties. Le logiciel est disponible pour tous les principaux systèmes d'exploitation.

Xboard

Xboard est une interface utilisateur pour le serveur d'échecs Internet. Il utilise le système X Windows, donc je suppose que cela ne fonctionne que sous GNU / Linux. Xboard peut être utilisé comme visionneuse et prend en charge toutes les formes d'échecs.

qbi
la source
10

PyChess

Est un client d'échecs construit en Python. Vous pouvez utiliser ses bibliothèques de logique d'échecs sans trop de problèmes.

Voici des exemples d'utilisation des bibliothèques pour contrôler les moteurs d'échecs, mais vous pouvez également utiliser uniquement la logique d'échecs:

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)))

C'est très rapide, car il est utilisé pour le moteur intégré, et il possède de nombreuses fonctionnalités avancées telles que l'analyse de la longue liste de mouvements SAN, la génération d'évasions de contrôle et l'évaluation des échanges statiques (SEE).

Thomas Ahle
la source
Merci pour le partage, semble très intéressant. Que fait ce qui précède? Un extrait similaire pourrait-il importer un fichier pgn à partir du disque et imprimer tous les mouvements dans une boucle similaire? At-il des bibliothèques pour exporter du HTML? Existe-t-il une documentation qui aiderait à effectuer des scripts similaires?
Joe
Et en vérifiant le lien, il semble que l'outil réel ne fonctionne pas encore sur Windows. Pensez-vous que le code ci-dessus fonctionnerait sur Windows en mode sans tête?
Joe
1
Le code ci-dessus imprime tous les mouvements possibles du blanc dans la position par défaut, en utilisant la notation algébrique standard. L'analyse des mouvements est également facile avec le même couple de modules. Si votre projet était GPL, je copierais simplement le module lutils entier, qui est pur Python et ne nécessite aucune gestion de processus spécifique à Linux.
Thomas Ahle