d54168432227ee0311c2d996852138bdcff7ab70
Some checks failed
Python tests (make) / test (push) Failing after 11s
Pawns are complicated pieces and have multiple cases to account for. Additionally, black and white pawns move in opposite ways to each other. We separated out the two colors to help keep the code clearer at a higher level, and to hopefully help with debugging in the future.
Chess Engine in C — Project Goal
Build a clean, fast chess engine in C that starts from a FEN string and produces fully legal moves, verified via PERFT for correctness and speed.
Approach
- Correctness-first engine:
FEN → board → legal movegen → PERFT
Future Work
-
Incorporate algorithms and evaluation methods for chess positions to enable an AI player.
-
Build an API to facilitate chess games with the AI player over the web.
- Starting with a commandline client.
- Later building a web based client.
Chess Engine Programming & Information
- Chess Programming Wiki (CPW): https://www.chessprogramming.org/
- PERFT (definition & methodology): https://www.chessprogramming.org/Perft
- PERFT Results & test positions: https://www.chessprogramming.org/Perft_Results
- FEN reference: https://www.chessprogramming.org/Forsyth-Edwards_Notation
- Bitboards https://www.chessprogramming.org/Bitboards
Description
Languages
Python
53.6%
C
43.1%
Makefile
1.8%
Shell
1.5%