Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lichess-org/dartchess

Dart chess library for native platforms
https://github.com/lichess-org/dartchess

dart flutter

Last synced: about 8 hours ago
JSON representation

Dart chess library for native platforms

Awesome Lists containing this project

README

        

Chess and chess variant rules written in dart for native platforms (does not support web).

## Features

- Completely immutable Position class
- Read and write FEN
- Read and write SAN
- Chess rules:
- move making
- legal moves generation
- game end and outcome
- insufficient material
- setup validation
- Chess960 support
- Chess variants: Antichess, Atomic, Crazyhouse, KingOfTheHill, ThreeCheck
- PGN parser and writer
- Bitboards
- Attacks and rays using hyperbola quintessence

## Example

```dart
import 'package:dartchess/dartchess.dart';

final pos = Chess.fromSetup(Setup.parseFen('r1bqkbnr/ppp2Qpp/2np4/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4'));
assert(pos.isCheckmate == true);
```

## Additional information

This package was heavily inspired from:
- https://github.com/niklasf/chessops
- https://github.com/niklasf/shakmaty