README.md
# gchess
[](https://hex.pm/packages/gchess)
<!--[](https://hexdocs.pm/gchess/) -->
## Intro
A chess library for Gleam.
```
let game_actor =
game_server.from_fen(
"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
)
game_server.print_board(game_actor)
game_server.all_legal_moves(game_actor)
|> list.map(move.to_string)
|> list.each(io.println)
game_server.apply_move_uci(game_actor, "e2e4")
game_server.print_board(game_actor)
```
## Features
get all legal moves\
make a move\
make a move using uci string\
convert game state to fen\
print board to console\
print fen string as board to console
chess rules implemented:
- castling
- en passant
- pawn promotion
- fifty move rule
## TODO
My goal is to match the interface of [binbo](https://github.com/DOBRO/binbo).