Esempio n. 1
0
def test_score():
    mvs = ['H8', 'I7', 'G7', 'F10', 'I9', 'G10', 'J10', 'K11', 'F6']
    pos_l = [str_pos(x, 'to_pos') for x in mvs[:-1]]
    board = np.zeros((15, 15), dtype='int8')
    for i, pos in enumerate(pos_l):
        board[pos] = 1 - 2 * (i % 2)

    # Test scoring
    pos = str_pos('F6', 'to_pos')
    score = compute_move(board, pos, 1)
    set_trace()
Esempio n. 2
0
    def unmake_move(self, move):
        # Change board
        pos = str_pos(move, 'to_pos')
        self.board[pos[0], pos[1]] = 0

        # Delete the latest score added
        del self.scores[-1]

        # Delete the move added
        self.moves.remove(move)
Esempio n. 3
0
def test_sort():
    mvs = ['H8', 'I7', 'G7', 'H7', 'I9', 'F6', 'J10']
    pos_l = [str_pos(x, 'to_pos') for x in mvs]
    board = np.zeros((15, 15), dtype='int8')
    for i, pos in enumerate(pos_l):
        board[pos] = 1 - 2 * (i % 2)

    # Test sorting
    pm_l_a = sort_moves(board, -1, 'AI')
    set_trace()
Esempio n. 4
0
    def make_move(self, move):
        # Compute score and change board
        ply_stone = self.opponent_index - self.current_player
        pos = str_pos(move, 'to_pos')
        sc_a, sc_d = compute_move(self.board, pos, ply_stone)
        sc = sc_a + 0.5 * sc_d
        self.scores.append(sc)
        self.board[pos[0], pos[1]] = ply_stone

        # Append to move list
        self.moves.append(move)
Esempio n. 5
0
 def __init__(self, players, moves=[], show="invisible"):
     self.players = players
     self.board = np.zeros((15, 15), dtype='int8')
     if len(moves) > 0:
         for i in range(len(moves)):
             pos = str_pos(moves[i], 'to_pos')
             self.board[pos[0], pos[1]] = 1 - 2 * (i % 2)
     self.current_player = 1 + len(
         moves) % 2  # which player starts depends on the length of moves.
     self.moves = moves  # Record players' moves.
     self.scores = []
     self.display = show