|
a game plan
|
Tom Ritchford
|
Jun 04, 2001 15:14 PDT
|
after all that theory chat, I'm going to present a concrete game plan.
1. finish the implementation of the chess object
I'm within a few weeks or less of the complete, correct,
canonical identification of chess.
This of course does NOT include attaching chat, people,
names or values or anything to the game. It's just the
game itself.
I am basically done. I need to detach the board position
for once and for all from the sequence of moves and test
all the naming.
The naming is either
the legal move index naming (which is already proven to work)
or the board position name (which has been quite well tested
and has no known bugs at this point but still doesn't have castling
or ep included in it...)
I'm not going to do either the "classic" or "algebraic" notation
now as these are nice neat subtasks.
2. Specify some canonical classes
This is really an ongoing process:
spec out the simple classes like Time,
as well as some complex classes like Recording,
and make a start on subtle classes like List,
and even start complex, subtle classes like Location
3. specify the storage
that means:
database naming,
persistence,
"directory" structure
and caching structure
which are all the same in my demented scheme.
4. Implement the canonical classes without display mechanisms.
So we take the list from section 2 and just implement
exactly the operations we decided on.
5. Learn about the output formats.
Lots of ongoing work here as well.
We continue to build and clarify the specifications of the
library of format-free display mechanisms as we go through
step 6.
6. Add output displayers for classes from 2 to the display.
These displayer classes will be TOTALLY insulated from
the implementation of the canonical items.
7. repeat until done.
.....all legal games of chess <http://solveChess.com/chess?refresh=0>...
........formal model of chess <http://solveChess.com/chess>.............
...programmer's documentation <http://solveChess.com/doc>...............
|
|
 |
|