Scacchi open source che giocano o librerie di visualizzazione pgn


15

Qualcuno ha familiarità con le librerie di scacchi open source in qualsiasi lingua in grado di eseguire una delle seguenti operazioni:

  • analizzare PGN e / o FEN
  • calcolare mosse di scacchi valide in base alla posizione
  • elaborare un'intera partita di scacchi

MODIFICARE:

Scusa, dovrei essere più chiaro. Non sto cercando software open source, sto cercando librerie di programmazione open source.

Risposte:


9

Stoccafisso

Lo stoccafisso ( sito web e github ) è un motore UCI open source e molto potente . Come tale, può fare tutto ciò che stai chiedendo, ma di solito richiede una GUI per farlo. Puoi comunque accedere a tutte le funzionalità anche tramite un prompt dei comandi / shell.


11

furbo

Crafty è un potente programma di scacchi e può essere utilizzato con Winboard, Xboard e Scid. Quindi è disponibile per tutti i principali sistemi operativi.

Scid

Scid è in grado di gestire database di giochi di scacchi, è possibile analizzare (terminare) i giochi. Il software è disponibile per tutti i principali sistemi operativi.

XBoard

Xboard è un'interfaccia utente per Internet Chess Server. Usa il sistema X Windows, quindi suppongo che questo funzioni solo con GNU / Linux. Xboard può essere utilizzato come visualizzatore e supporta tutte le forme di scacchi.


10

pychess

È un client di scacchi integrato in Python. Puoi usare le sue librerie di logica degli scacchi senza troppi problemi.

Sono esempi di come potresti usare le librerie per controllare i motori di scacchi, ma puoi anche usare solo la logica degli scacchi:

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

È molto veloce, poiché viene utilizzato per il motore integrato e ha molte funzionalità avanzate come l'analisi di un lungo elenco di spostamenti SAN, la generazione di evasioni di assegni e la valutazione di scambio statico (SEE).


Grazie per la condivisione, sembra molto interessante. Cosa fa quanto sopra? Un frammento simile potrebbe importare un file pgn dal disco e stampare tutte le mosse in un ciclo simile? Dispone di librerie per esportare HTML? Esiste documentazione che aiuterebbe a fare simili tipi di scripting?
Joe,

E controllando il collegamento, sembra che lo strumento reale non sia ancora in esecuzione su Windows. Pensi che il codice sopra potrebbe essere eseguito su Windows in modalità senza testa?
Joe,

1
Il codice sopra stampa tutte le mosse possibili per il bianco nella posizione predefinita, usando la notazione algebrica standard. Anche le mosse di analisi sono facili con la stessa coppia di moduli. Se il tuo progetto fosse GPL, copierei l'intero modulo di lutils, che è Python puro e non richiede alcuna gestione specifica del processo Linux.
Thomas Ahle,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.