ref: 03c4b270665987e034d6589d595e4e6b638a02ab
dir: /README.md/
# Synopsis This is a 9P filesystem aimed at playing chess. It's written in Go, leveraging the `styx` library, so you should be able to compile it on Linux, Plan9, etc, and play it in the terminal. Usage: ``` chessfs -a tcp!*!5650 & srv tcp!cobra!5650 chess /n/chess ``` # Files ## Status The `status` file presents the following things: - elapsed time for white - elapsed time for black - maximum player time (measured in seconds; -1 means no limit) - current turn ## Board The `board` file shows a view of the current board using UTF-8. The view is from white player's perspective. ## Control file The following control commands are available: - new - move <move> - load <PGN line> The moves are coded in a notation similar to the Standard Algebraic Notation. ## History A PGN-format line representing the game history. You can `cat` it to a file and replay the game later by using the `load` command. ## Notify Reading from this file finishes when the player turn changes. # TODOs Features: - mounting on Inferno does not work - more descriptive error messages - script or create file for black player's perspective - implement the following moves: castling, promotion, en passant - win/lose mechanism & score file - game history file (PGN format) - write a script to import a PGN puzzle - Limbo frontend! Emacs frontend!