diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-01-29 11:52:47 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-01-29 11:52:47 +0100 |
| commit | e9d328acf4ee45bd8771d422fa4db40298e6e16a (patch) | |
| tree | 68a86c53539fe57b434c49555feafac9081f75e0 /README.md | |
Init project
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..abf3332 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# ChessArbiter +ChessArbiter is a library that allow you to play chess games in C++. It ensures that all the rules of classical chess are followed. + +# Features +- No external dependencies +- Simple/Minimal API +- FEN parsing/serializing +- Setup a position a play moves +- Perform various tests on a position: + - Material + - Players in check + - Players captures + - Castle + - Attacked squares + - Checkmate + - ... +- More features are coming soon! + +# How to setup ChessArbiter +ChessArbiter can be used as a shared library in your project. +You only need to include `ChessArbiter.hpp` and linking the .so file to your executable. + +# Example +Somewhere at the beginning of the file: + + #include "ChessArbiter.hpp" + +Start playing: + + ChessArbiter arbiter; + arbiter.Setup("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"); + // Now start playing! + if(!arbiter.Play("e2e4")){ + // Handle illegal moves + } + if(arbiter.IsCheckmate()){ + // Game ends + } + +See `ChessArbiter.hpp` for more informations on the API. + +# CMake Integration +By using the `add_subdirectory()` directive on this repository, you will be able to use the following cmake calls in your project: + + include_directories(${CHESSARBITER_INCLUDE_DIR}) + target_link_libraries(<YOUR_TARGET> chessarbiter) + |
