Python源码示例:go.is_eyeish()
示例1
def test_is_eyeish(self):
board = test_utils.load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = coords_from_kgs_set('A2 A9 B8 J7 H8')
W_eyes = coords_from_kgs_set('H2 J1 J3')
not_eyes = coords_from_kgs_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例2
def test_is_eyeish(self):
board = test_utils.load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = coords_from_kgs_set('A2 A9 B8 J7 H8')
W_eyes = coords_from_kgs_set('H2 J1 J3')
not_eyes = coords_from_kgs_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例3
def test_is_eyeish(self):
board = load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = pc_set('A2 A9 B8 J7 H8')
W_eyes = pc_set('H2 J1 J3')
not_eyes = pc_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例4
def test_is_eyeish(self):
board = utils_test.load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = coords_from_kgs_set('A2 A9 B8 J7 H8')
W_eyes = coords_from_kgs_set('H2 J1 J3')
not_eyes = coords_from_kgs_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, ne), None, str(ne))
示例5
def test_is_eyeish(self):
board = load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = pc_set('A2 A9 B8 J7 H8')
W_eyes = pc_set('H2 J1 J3')
not_eyes = pc_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例6
def test_is_eyeish(self):
board = test_utils.load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = coords_from_gtp_set('A2 A9 B8 J7 H8')
W_eyes = coords_from_gtp_set('H2 J1 J3')
not_eyes = coords_from_gtp_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例7
def test_is_eyeish(self):
board = load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = pc_set('A2 A9 B8 J7 H8')
W_eyes = pc_set('H2 J1 J3')
not_eyes = pc_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例8
def test_is_eyeish(self):
board = load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = pc_set('A2 A9 B8 J7 H8')
W_eyes = pc_set('H2 J1 J3')
not_eyes = pc_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(board, ne), None, str(ne))
示例9
def test_is_eyeish(self):
board = utils_test.load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = coords_from_kgs_set('A2 A9 B8 J7 H8')
W_eyes = coords_from_kgs_set('H2 J1 J3')
not_eyes = coords_from_kgs_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, ne), None, str(ne))
示例10
def test_is_eyeish(self):
board = utils_test.load_board('''
.XX...XXX
X.X...X.X
XX.....X.
........X
XXXX.....
OOOX....O
X.OXX.OO.
.XO.X.O.O
XXO.X.OO.
''')
B_eyes = coords_from_kgs_set('A2 A9 B8 J7 H8')
W_eyes = coords_from_kgs_set('H2 J1 J3')
not_eyes = coords_from_kgs_set('B3 E5')
for be in B_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, be), BLACK, str(be))
for we in W_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, we), WHITE, str(we))
for ne in not_eyes:
self.assertEqual(go.is_eyeish(
utils_test.BOARD_SIZE, board, ne), None, str(ne))
示例11
def is_move_reasonable(position, move):
# A move is reasonable if it is legal and doesn't fill in your own eyes.
return position.is_move_legal(move) and go.is_eyeish(position.board, move) != position.to_play
示例12
def is_move_reasonable(position, move):
return position.is_move_legal(move) and go.is_eyeish(position.board, move) != position.to_play
示例13
def play_valid_move(self, position, move_probs):
for move in sorted_moves(move_probs):
if go.is_eyeish(position.board, move):
continue
try:
candidate_pos = position.play_move(move, mutate=True)
except go.IllegalMove:
continue
else:
return candidate_pos
return position.pass_move(mutate=True)
示例14
def is_move_reasonable(position, move):
# A move is reasonable if it is legal and doesn't fill in your own eyes.
return position.is_move_legal(move) and go.is_eyeish(position.board, move) != position.to_play