Question: Please refer My exercise is to create a Go game in python this... | Chegg.com as it will give you my code as this is
Please refer My exercise is to create a Go game in python this... | Chegg.com as it will give you my code as this is the 2nd part
3. In the Board My exercise is to create a Go game in python this... | Chegg.comclass, define a method reaching_empty_matrix(self) that returns a matrix (list of lists) of Booleans of the same size as the board. An element of this matrix is True if the corresponding point on the board is either empty or reaches empty and False otherwise. The method must not modify the board.
where the test cases are
b = Board(3, ["O.O", ".@.", "@O."]) print(b.reaching_empty_matrix()) b = Board(3, ["O@O", ".O.", "@O."]) print(b.reaching_empty_matrix())
l19 = load_board("l19.txt") print(l19) e = l19.reaching_empty_matrix() for r in range(len(e)): for c in range(len(e[r])): if not e[r][c]: print((r, c))
which gives an expected output of
[[True, True, True], [True, True, True], [True, True, True]] [[True, False, True], [True, True, True], [True, True, True]] A B C D E F G H I J K L M N O P Q R S 19 . . . . @ @ @ . O O . . @ . O O O . O 18 @ O O @ O @ . . @ O @ O . . . @ @ . @ 17 @ O . . @ O . O O O O O . O O O O O @ 16 . . @ @ . O O . @ . . O @ O . @ . O . 15 O . @ . @ . O @ . O O @ @ O . . O @ O 14 O . . . O O O @ . @ @ . . . @ . O @ @ 13 . . @ O @ . . @ . . O O O . @ . @ . . 12 . . @ @ . @ @ @ . . . @ O . O . . . @ 11 @ O . . @ . @ @ @ @ O . . @ O O O @ O 10 @ . . O . @ @ O @ O O @ @ . @ . O @ . 9 @ O O O . . @ O . . @ @ O @ @ @ . O O 8 @ @ O @ . O O O . @ . O @ . @ @ @ . @ 7 @ . O . O @ O O . O O . @ O @ . . @ O 6 @ . . . O @ @ O O @ . @ @ . . O . O . 5 O O @ @ . . O @ @ . @ . @ . O @ @ O . 4 @ . O . . O O . @ O @ O @ O O . @ @ . 3 @ @ O O @ . O . @ . O @ . @ O @ O . . 2 . . . O O @ @ O . @ O . O . @ O O @ . 1 @ @ . @ O . @ @ . . @ O O O O O @ @ @
(1, 4)
(10, 12)
--------------------------------------------
4. In the Board class, define a method is_legal(self) that returns True if the position on the board is legal and False otherwise (see Background Information for the definition of a legal position).
Test Cases:
l19 = load_board("l19.txt") print(l19) print(l19.is_legal()) l19.set_colour("E19", "E") print(l19.is_legal()) l19.set_colour("M9", "B") print(l19.is_legal()) print(l19)
Expected output:
A B C D E F G H I J K L M N O P Q R S 19 . . . . @ @ @ . O O . . @ . O O O . O 18 @ O O @ O @ . . @ O @ O . . . @ @ . @ 17 @ O . . @ O . O O O O O . O O O O O @ 16 . . @ @ . O O . @ . . O @ O . @ . O . 15 O . @ . @ . O @ . O O @ @ O . . O @ O 14 O . . . O O O @ . @ @ . . . @ . O @ @ 13 . . @ O @ . . @ . . O O O . @ . @ . . 12 . . @ @ . @ @ @ . . . @ O . O . . . @ 11 @ O . . @ . @ @ @ @ O . . @ O O O @ O 10 @ . . O . @ @ O @ O O @ @ . @ . O @ . 9 @ O O O . . @ O . . @ @ O @ @ @ . O O 8 @ @ O @ . O O O . @ . O @ . @ @ @ . @ 7 @ . O . O @ O O . O O . @ O @ . . @ O 6 @ . . . O @ @ O O @ . @ @ . . O . O . 5 O O @ @ . . O @ @ . @ . @ . O @ @ O . 4 @ . O . . O O . @ O @ O @ O O . @ @ . 3 @ @ O O @ . O . @ . O @ . @ O @ O . . 2 . . . O O @ @ O . @ O . O . @ O O @ . 1 @ @ . @ O . @ @ . . @ O O O O O @ @ @
False
False
True
A B C D E F G H I J K L M N O P Q R S 19 . . . . . @ @ . O O . . @ . O O O . O 18 @ O O @ O @ . . @ O @ O . . . @ @ . @ 17 @ O . . @ O . O O O O O . O O O O O @ 16 . . @ @ . O O . @ . . O @ O . @ . O . 15 O . @ . @ . O @ . O O @ @ O . . O @ O 14 O . . . O O O @ . @ @ . . . @ . O @ @ 13 . . @ O @ . . @ . . O O O . @ . @ . . 12 . . @ @ . @ @ @ . . . @ O . O . . . @ 11 @ O . . @ . @ @ @ @ O . . @ O O O @ O 10 @ . . O . @ @ O @ O O @ @ . @ . O @ . 9 @ O O O . . @ O . . @ @ @ @ @ @ . O O 8 @ @ O @ . O O O . @ . O @ . @ @ @ . @ 7 @ . O . O @ O O . O O . @ O @ . . @ O 6 @ . . . O @ @ O O @ . @ @ . . O . O . 5 O O @ @ . . O @ @ . @ . @ . O @ @ O . 4 @ . O . . O O . @ O @ O @ O O . @ @ . 3 @ @ O O @ . O . @ . O @ . @ O @ O . . 2 . . . O O @ @ O . @ O . O . @ O O @ . 1 @ @ . @ O . @ @ . . @ O O O O O @ @ @
5. In the Board class, define a method clear_colour(self, colour_name) that clears the given colour ("B" or "W") according to rule #4 (see Background information).
test cases
b = Board(9) b.set_from_integer(123480537448700274361724717496626688035) print(b) print(b.is_legal()) b.clear_colour("B") print(b) print(b.is_legal())
expected output
A B C D E F G H I 9 . @ O O O @ . . . 8 . . @ @ O @ . . . 7 . . . . . . . . . 6 . . . O @ . . . . 5 . . O @ O @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . O @ @ @ @
False
A B C D E F G H I 9 . @ O O O @ . . . 8 . . @ @ O @ . . . 7 . . . . . . . . . 6 . . . O @ . . . . 5 . . O . O @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . O . . . .
True
6. In the Board class, define a method play_move(self, colour_name, coords) that plays a move according rule #7 (see Background Information). For coords and colour_name, see Task 2. If the point at the given coordinates is not empty, raise an AssertionError with message "illegal move: point not empty".
Test cases
b = Board(9) b.set_from_integer(123480537448700274288778724742285115148) print(b) b.play_move("B", "D5") print(b) b.play_move("W", "E1") print(b) b.play_move("B", "E7") print(b) b.play_move("W", "E5") print(b)
Expected output
A B C D E F G H I 9 . @ O O O @ . . . 8 . . @ @ O @ . . . 7 . . . . . . . . . 6 . . . O @ . . . . 5 . . O . O @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . . @ @ @ @
A B C D E F G H I 9 . @ O O O @ . . . 8 . . @ @ O @ . . . 7 . . . . . . . . . 6 . . . O @ . . . . 5 . . O @ . @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . . @ @ @ @
A B C D E F G H I 9 . @ O O O @ . . . 8 . . @ @ O @ . . . 7 . . . . . . . . . 6 . . . O @ . . . . 5 . . O @ . @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . O . . . .
A B C D E F G H I 9 . @ . . . @ . . . 8 . . @ @ . @ . . . 7 . . . . @ . . . . 6 . . . O @ . . . . 5 . . O @ . @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . O . . . .
A B C D E F G H I 9 . @ . . . @ . . . 8 . . @ @ . @ . . . 7 . . . . @ . . . . 6 . . . O @ . . . . 5 . . O . O @ . . . 4 . . . O @ . . . . 3 . . . . . . . . . 2 . . . . . O O O O 1 . . . . O . . . .
7. In the Board class, define a method score(self) that returns the score difference between White and Black, i.e. Whites score minus Blacks score according to rule #9 (see Background Information).
Test cases
b = Board(9) b.set_from_integer(618162000026984091812681185497885) print(b) print(b.score()) b.set_colour("I5", "E") print(b) print(b.score()) b.set_colour("E2", "E") print(b) print(b.score())
Expected output
A B C D E F G H I 9 . . . . . . . . . 8 . . . @ . @ . . . 7 . . @ . @ @ @ @ @ 6 @ @ @ @ O O @ O @ 5 @ O @ O O O @ O O 4 O O O O . O @ @ O 3 . . . O . . O O O 2 . . . . O O . . . 1 . . . . . . . . .
5
A B C D E F G H I 9 . . . . . . . . . 8 . . . @ . @ . . . 7 . . @ . @ @ @ @ @ 6 @ @ @ @ O O @ O @ 5 @ O @ O O O @ O . 4 O O O O . O @ @ O 3 . . . O . . O O O 2 . . . . O O . . . 1 . . . . . . . . .
4
A B C D E F G H I 9 . . . . . . . . . 8 . . . @ . @ . . . 7 . . @ . @ @ @ @ @ 6 @ @ @ @ O O @ O @ 5 @ O @ O O O @ O . 4 O O O O . O @ @ O 3 . . . O . . O O O 2 . . . . . O . . . 1 . . . . . . . . .
4
the rules are given on the site I've given above
please provide the code according to my code so that it provides the expected output
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
