I have been working on this Draughts/Checkers program for many years, but it has always been a command-line program, so I've decided to create a nice GUI for it.
This is my first big GUI program using Free Pascal, and its taking so much work to write the code, I am not able to do as much testing as I would like. So I am posting the program for people who are interested in the game of Draughts/Checkers to help with testing.
The playing engine has been thoroughly tested over many years, so most of the bugs will be in the UI code. However, the engine is much weaker in the endgame, and I intend working to improve this once the UI is finished.
The UI is still in the early stages of design. I want to make it as simple/minimal as possible; not because of laziness, but because I find that a cluttered UI is distracting when playing the game.
Some features that are coming soon in the UI, but not implemented yet are:
1. Moving the pieces using the mouse.
2. Adjusting the playing strength of the engine (currently fixed in the code).
3. Turning learning mode on/off and loading/saving the learning database (currently off).
4. Automatic self-playing mode for use in unattended self-learning (currently off).
These features are in the engine, but I need to write the code to make them available in the UI.
There is an outstanding UI bug that I have not yet been able to fix: if you go back and then forward some moves, the position sometimes becomes incorrect around capture moves. If this happens, a workaround is to go back to a non-capture move, and resume playing the game from that position.
If you wish to adjust the playing strength, edit the unit_engine.pas file, in the initialization section, and change the value of the MAXLEVEL variable to a higher or lower number. A higher number searches further ahead & plays better.
I am doing a lot of work on this program; if you download it, please come back often to get the latest version.
I have request: if you discover a bug, please save the game, and send the game file to me. This will help me to find bugs.
Many thanks.