Hi, I'm proud to announce that the first playable version of Schess is available in the "demos" directory of the repository of SLAYER:
hg clone http://hg.gnu.org.ua/hgweb/slayer Schess is a framework for describing chess-like games in the most intuitive imaginable way, i.e. by simply showing which moves are available. (The more distant goal is to make it a literate-programming implementation of chess game, but there's a tiny mess in the source code now) The (yet incomplete) ruleset for the game of Chess can be viewed here: https://bitbucket.org/panicz/slayer/src/01fda18caea89a8d0e7f02a21e022d4d4c41fa20/demos/chess.scm?at=default (there are some comments written in Polish language, but I believe that the main content should be comprehensible to anyone) The demos/schess.scm is the file to actually run the Chess demo. It provides a drag&drop interface to the chess board, and highlights the available moves for a selected figure. Some features (namely: castling and en-passent) aren't yet available. The full implementation consists of ~700 lines of code (excluding the SLAYER itself and my library that contains some convinient linguistic extensions to Guile Scheme). It's a two-player game only -- there's no computer AI (I'm planning to implement it during the "General Game Playing" course that just started on Coursera), but perhaps someone will find the code entertaining. Best regards, Panicz