A minimalistic chess program written in Go.
The main purpose for writing this was to spend a few days hacking on some Go code to improve my coding skills (specifically my Golang knowledge).
I proceeded in the following steps:
- parse and pretty print a chess board
- generate a list of valid moves
- write some code to solve "mate in N" puzzles, use some well known puzzles as test cases.
- write some code to solve "selfmate in N" puzzles, use some well known puzzles as test cases.
Overall I'm pretty happy to have achieved both: I have a piece of code which solves chess puzzles and I have significantly improved my knowledge of Go. Some parts of my code are a little ugly, but I don't think it's worth my time polishing this side project.