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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!