I love playing chess. I also love programming. How to marry the two? How about playing chess against a chess engine (chess playing program) that I have designed and wrote? If you are intrigued- read on! This is the first blog post in the series about building my chess engine in Java.
The rules of chess
I assume that you are more-less familiar with the rules of chess. You have two “armies” facing each other, making a move after a move, until one side is guaranteed to capture the enemy king (the checkmate), or neither side can win- a draw.
If you need to refresh your memory on the exact rules, there are Rules of chess on Wikipedia. If you are a less serious player I would point out a few overlooked and misunderstood rules:
- Castling – different both ways
- Promoting a pawn to any piece once they cross the board
- En-passant – special capture with a pawn
There are also a few rules regarding checks – you have to defend. Assuming you have the basics covered, let’s look at designing a clean Angular Chess Engine.
You can find the code HERE.