-
Notifications
You must be signed in to change notification settings - Fork 0
/
steps.txt
78 lines (62 loc) · 1.77 KB
/
steps.txt
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Game
TODO
--------------------------------
DONE
--------------------------------
Display an empty game
Add input and display the altered game correctly
Determine whether a given move is available
Determine whether a player has won
Recognizes a winning game
Initializes game correctly - human move first and computer move first
Initializes when asked for a new game
Validates user input
Accept input from a player
Determine which player moves first
Notify user of game states: Move Available/Draw Game/Winning Game/Losing Game
Game initializes correctly - calls output with right message,
calls generate_move and add to board when necessary
Fails gracefully when it gets a bad move
Asks for another move if game not finished
Asks for another game if game is finished
Board
TODO
--------------------------------
DONE
--------------------------------
Recognize a draw game
Reject a move out of range
Reject an unavailable move
Translate from internal representation(Grid) to external
Recognize a winning configuration
Translate the grid move correctly
Brain
TODO
--------------------------------
DONE
--------------------------------
Block a possible win
Make a winning move
Find the best next move
Grid
TODO
--------------------------------
DONE
--------------------------------
Accepts moves
Throws RangeError for out of range move
Throws RuntimeError for move not available
Tell what moves are available
Check for winning game
Tell whether grids match (rotational symmetry)
Group equivalent moves
Tree
TODO
--------------------------------
DONE
--------------------------------
Detect a draw game
Detect a game where X wins/O wins
Detect an X winning/O winning game with one move left
Detect an X losing/O winning game with two moves left
Detect a draw game, O moving next, with 1-9 moves left