Try out the online demo.
- Computer plays chess with adjustable skill level.
- Strong enough to be a challenge for most people.
- Can decrease strength so weaker players can beat it.
- Also enables creating chess-related HTML5 apps that don't play chess, but just need to know about chess rules.
- No built-in user interface - can be adapted to any UI you want.
- Fully understands all rules of chess.
- Generates a list of all legal moves for any chess position.
- Verifies whether an externally-supplied move is legal or not.
- Makes and unmakes moves on the board.
- Determines whether the game has ended by
- Forsyth–Edwards Notation (FEN): parse FEN into a chess position, and for any chess position, generate FEN.
- Portable Game Notation (PGN): parse PGN from a game to reconstruct the game state, and generate PGN from a board position.
Running unit tests
cd ~ git clone https://github.com/cosinekitty/flywheel.git cd flywheel python -m SimpleHTTPServer 5432
Then you can run the unit tests in your browser:
Here is what a successful test looks like: