]> git.cworth.org Git - ttt/blob - TODO
Second draft attempt at ttt_board_is_won
[ttt] / TODO
1 Use the first letter of your name to indicate you are in the middle of
2 working on something.
3
4 Protocol pieces
5 ---------------
6
7   /----- Server, implemented in ttt-server
8  / /---- Client, implemented in ttt
9 S C
10     1. Requests
11 ✓   1.1. HELO
12 ✓   1.2. Global commands
13 ✓   1.2.1. WHO
14 ✓   1.2.2. STATISTICS
15 ✓   1.2.3. MESSAGE
16 ✓   1.2.4. HELP
17 ✓   1.2.5. QUIT
18 ✓   1.2.6. VERSION
19     1.3. Game management commands
20 ✓   1.3.1. INVITE
21     1.3.2. ACCEPT
22 ✓   1.3.3. RETRACT
23 ✓   1.3.4. DECLINE
24     1.4. In-game commands
25     1.4.1. SHOW
26     1.4.2. PART
27     1.4.3. MOVE
28     2. Asynchronous notification.  
29     2.1. Global notices
30 ✓   2.1.1. NOTICE USER <username>
31 ✓   2.1.2. NOTICE QUIT <username>
32 ✓   2.1.3. Game Invitation
33 ✓   2.1.3.1. NOTICE INVITE <username1> <username2>
34 ✓   2.1.3.2. NOTICE ACCEPT <username2> <username1>
35 ✓   2.1.3.3. NOTICE RETRACT <username1> <username2>
36 ✓   2.1.3.4. NOTICE DECLINE <username2> <username1>
37     2.1.4. NOTICE NEWGAME <game> <username> <username>
38     2.1.5. NOTICE DISPOSE <game>
39 ✓   2.1.6. NOTICE MESSAGE <username> <text>
40     2.2. Game notices
41     2.2.1. Global game notices
42     2.2.1.1. NOTICE GAMEOVER <game> <outcome> <username>
43     2.2.2. Move notices
44     2.2.2.1. NOTICE MOVE <game> <username> <number>
45     3. Errors
46 ✓   3.1. Connection setup errors
47 ✓   3.1.1. ERROR NO_NAME_SET
48 ✓   3.1.2. ERROR INVALID_NAME
49     3.2. Command format errors
50 ✓   3.2.1. ERROR COMMAND
51 ✓   3.2.2. ERROR SYNTAX
52     3.2.3. ERROR NOT_NUMBER
53     3.2.4. ERROR NOT_GRID
54     3.3. Global command errors.
55     3.4. Game management errors.
56 ✓   3.4.1. ERROR NO_INVITE
57     3.4.2. ERROR NO_GAME
58 ✓   3.5. User information errors
59 ✓   3.5.1. ERROR NO_USER
60     3.6. In-game errors
61     3.6.1. Global game errors
62     3.6.1.1. ERROR NOT_PLAYING
63     3.6.2. Moving errors 
64     3.6.2.1. ERROR NOT_YOUR_TURN
65     3.6.2.2. ERROR NOT_VALID_MOVE
66
67 Other bits
68 ----------
69 Server log messages should include pid date and time. And server
70 should log the fact when it gets terminated by a signal.
71
72 Server should wait and retry a couple of times if its port is not
73 available, rather than just giving up.
74