1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
polish: chess-chat, chess-kibitz
translate: chess-german
chess
- clean up this code; let people override the chess-default-* lists
chess-pos
- in chess-pos-can-castle, the return value should be nil, or the
position of the rook to be used when castling on that side
- create chess-pos-legal-move, which returns non-nil if a specific
move can be made; this makes the castling code much easier to write
chess-ply
- When creating the next position, set the annotations to point to the
keywords of the ply that led to that position; in fact, just point
to the creating ply!
- Add :nag, :rav, :ann and :next-pos keywords to a ply
- Thus there will be a mirror set of chess-pos-has-keyword, etc.,
functions
- Need to detect games drawn by three-fold repetition
- Rename chess-ply-create-castle to chess-ply-castling-changes
chess-display
- there is no way to call flag right now
- invert the mode line to show the side on move?
chess-engine
- add a `force' event for forcing an engine to move
chess-ics
- detect draw/retract, etc.
- add support for ICS observing
chess-clock
- when a clock runs down, allow the user to call-flag in order to win
on time; note: the user should be allowed to try anyway, in case our
clock has become out-of-sync with the server's
chess-images
- in a generic emacs, with a light background, there are white lines
in wierd places on the chessboard
BEFORE FINAL RELEASE
use more asserts throughout the code
break my dependency on cl
profile
mem profile
elint
docstring/texi
checkdoc
|