Chess.NET is a chess library for .NET, written in C#.
It contains the following features:
- Move validation (including castling and en passant).
- Check validation.
- Checkmate and stalemate validation.
- FEN string parsing and game-to-FEN conversion.
- Support of the Atomic chess variant - https://lichess.org/variant/atomic
- Support of the King of the Hill chess variant - https://en.lichess.org/variant/kingOfTheHill
- Support of the Three-check chess variant - https://en.lichess.org/variant/threeCheck
- Support of the Antichess variant - https://en.lichess.org/variant/antichess
- Support of the Horde variant - https://en.lichess.org/variant/horde
- Support of the Racing Kings variant - https://en.lichess.org/variant/racingKings
- Support for claiming draw for the 50 move rule.
Planned features:
- Draw on threefold repetition
- Draw on insufficient mating material
Chess.NET is available on NuGet, compiled for .NET Standard 1.3.
https://www.nuget.org/packages/ChessDotNet/
https://www.nuget.org/packages/ChessDotNet.Variants/