I've been fantasizing about starting to write a chess engine based on human-like thought processes, not brute-forcing move trees like normal engines. I obviously don't have the time for that, but I did think about some essential modules and code fragments that might go into it. If anybody wants to write such a thing, here's a good place to start? I imagine starting out with it just picking a random legal move.
- Board class
- Move struct
- IsLegalMove method
- IsInCheck method
- GetAllLegalMoves method
- GetPieceMoves method
- IsAttacking method
- IsDefended method
This clearly is not very thoroughly thought out. Hopefully, for the sake of my sanity, this won't turn into a project.
No comments:
Post a Comment