Moved a lot of methods into the board class, documented the logic for the board evaluation heuristics.
Documented some known issues with the original BASIC source code.
I've noticed that the computer has resigned to me when it has legal, if bad, moves. A bug in my code? A bug in the BASIC code? Still need to investigate further.
did a first pass, porting the logic, refactoring into functions. Found a few bugs in the original code:
- when a computer promoted to a king, the original piece would not be removed from the board
- humans could move normal pieces like kings
I've noticed at least one bug where the computer does not promote to a king when reaching row 0