1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- TODO LIST
- BIG
- Rewrite move generator in assembly language or figure
- out a faster algorithm. The point is to speed up the move
- generation considerably.
- Enter all collected games of several great Chess-masters
- (Capablanca, Tal, Morphy). The program's "personality" will
- then be determined by the master's style. It is not clear
- whether selection of attackers or postional players would
- be better for our purposes. Think about it.
- MEDIUM
- Figure out how to speed up quiescence.
- Debug transposition table code and determine usefulness
- Add iterative deepening, if it useful
- See if aspiration is of any use.
- Modify makemove/unmakemove so that it incrementally updates
- the positional evaluation.
- SMALL
- Program currently will move into a position that is in book,
- regardless of whose move it is. It should move into book positions
- only if the book position represents a position for the side to
- move that corresponds to the current game (after the program makes
- its move). Example: 1 e2e4 d7d6 2 d2d4 d7d5 (?)
- When program plays black, why does it oscillate
- 1. e2e4 2. ... e7e5, since really e7e5 is
- the first move.
- Add tournament time controls.
- Makemove/Unmakemove should handle hashing correctly for
- promotions and castling.
- Separate history mechanism into its own file. Perhaps rename
- it to something else?
- Modify ply-1 preprocessor so it randomizes.
- Move out all random commands from main into separate files.
- History command does not handle 'undos' properly.
- Unmakemove does not seem to handle unmake's of pawn promotions
- that capture. That is c2xb1=BQ does not get unmade properly!.
- Actually, what seems to happen, is the unmake gets done but
- the captured piece is not restored to the square!!!
- Program will move into check if the checking piece is the
- enemy king.
|