def transpose_arr(arr):
     for row in range(constant.BOARD_SIZE):
         for col in range(constant.BOARD_SIZE):
             temp_ij = Board.get_array_element(arr, row, col)
             temp_ji = Board.get_array_element(arr, col, row)
             Board.set_array_char(arr, row, col, temp_ji)
             Board.set_array_char(arr, col, row, temp_ij)
     return arr
 def reverse_col(arr, col):
     for row in range(constant.BOARD_SIZE):
         temp_start = Board.get_array_element(arr, row, col)
         temp_end = Board.get_array_element(arr, 7 - row, col)
         # swap
         Board.set_array_char(arr, row, col, temp_end)
         Board.set_array_char(arr, 7 - row, col, temp_start)
     return arr
    def apply_vertical_reflection(board_state):
        temp = '-' * 64
        temp = bytearray(temp, 'utf-8')

        for row in range(constant.BOARD_SIZE):
            for col in range(constant.BOARD_SIZE):
                Board.set_array_char(
                    temp, 7 - row, col,
                    Board.get_array_element(board_state, row, col))

        return temp