Schach Software und Bibliotheken für Entwickler

chess.js

chess.js ist eine Javascript-Schachbibliothek für Schachzug-Generierung/Validierung, Figurenplatzierung/Bewegung und Schach/Schachmatt/Ziehen-Erkennung

Vom Design her ist chess.js eine Headless-Bibliothek und enthält keine Elemente der Benutzeroberfläche. Viele Entwickler haben chess.js erfolgreich mit der chessboard.js-Bibliothek integriert. Siehe chessboard.js – Random vs Random für ein Beispiel.

Zug- und PGN-Parser

Diese Bibliothek enthält zwei Parser (permissive und strict), die verwendet werden, um verschiedene Formen der Schachzugnotation zu parsen. Der permissive Parser (die Standardeinstellung) kann viele Ableitungen der algebraischen Notation verarbeiten (z.B. Nf3, g1f3, g1-f3, Ng1f3, Ng1-f3, Ng1xf3). Der strenge Parser akzeptiert nur Züge in algebraischer Standardnotation und verlangt, dass sie sich streng an die Spezifikation halten. Der strenge Parser läuft etwas schneller, verzeiht aber viel weniger bei nicht standardisierter Notation.

API-Konstruktor: Chess([ fen ])

Der Chess()-Konstruktor nimmt einen optionalen Parameter an, der die Brettkonfiguration in Forsyth-Edwards-Notation (FEN) angibt. Es wird eine Exception geworfen, wenn ein ungültiger FEN-String angegeben wird.

chessboard.js

chessboard.js describes itself as „The easiest way to embed a chess board on your site.“