A draughts library for Python with move generation and engine communication
Project description
pydraughts
pydraughts is a draughts library for Python with move generation and engine communication. It is based on ImparaAI/checkers.
Features
Variants:
- Standard (International)
- Frisian
- frysk!
- Antidraughts
- Breakthrough
- Russian
- Brazilian
Engine protocols:
- Hub
- DXP
- CheckerBoard
- Import library
from draughts import Game, Move
- Create a game
game = Game(variant="standard", fen="startpos")
- Make a move
game.move([34, 30])
- Get legal moves
moves, captures = game.legal_moves()
- Convert move to other types
move = Move(game, board_move=moves[0]).pdn_move
- Get fen
fen = game.get_li_fen()
- Communicate with engines
from draughts.engine import HubEngine, Limit
engine = HubEngine("scan.exe hub")
enigne.hub()
engine.init()
limit = Limit(time=10)
engine_move = engine.play(game, limit, ponder=False)
Acknowledgements
Thanks to RoepStoep for his draughtsnet which was modified to add support for Hub engines. Thanks to akalverboer for their DXC100_draughts_client which was modified to add support for DXP engines.
License
pydraughts is licensed under the GPL 3 (or any later version at your option). Check out LICENSE.txt for the full text. The license of ImparaAI/checkers is also present here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pydraughts-0.1.5.tar.gz
(36.4 kB
view hashes)
Built Distribution
pydraughts-0.1.5-py3-none-any.whl
(41.9 kB
view hashes)
Close
Hashes for pydraughts-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dbbe931df7ceac1293c3cd35a829a6eb28bb27d0aac84c07aba35988dc78099 |
|
MD5 | c1f1fdc49f8e2e703423bccbd9272bc2 |
|
BLAKE2b-256 | 12d19accb216a2300bcdab36c32564dba1dcefbd9844e1063a32fdfad9523996 |