def func(board, y, x): global gc def f(y, x): if 0 < y and y <= board_n and 0 < x and x <= board_n: return board[y - 1][x - 1] else: return 2 #壁 nb = [[f(y, x) for x in range(0, board_n + 2)] for y in range(0, board_n + 2)] igo_library.put(nb, y + 1, x + 1, gc) gc *= -1 tb = [[([0 for _ in range(0, data_t - 1)] + [gc]) for _ in range(0, board_n)] for _ in range(0, board_n)] #print(tb) for y in range(0, 4): for x in range(0, 4): if nb[y + 1][x + 1] == 1: tb[y][x][-3] = 1 elif nb[y + 1][x + 1] == -1: tb[y][x][-2] = 1 print(tb) ha = pubc(tb) ty, tx = (ha // board_n), (ha % board_n) print(ty, tx) if ha != board_n * board_n: igo_library.put(nb, ty + 1, tx + 1, gc) gc *= -1 res = [[nb[y + 1][x + 1] for x in range(0, board_n)] for y in range(0, board_n)] return res
def put_for_data(board, t): bc = int(np.sign(board[1][1][-1])) #print(board,t,c) def f(y, x): if 0 < y and y <= board_n and 0 < x and x <= board_n: if board[y - 1][x - 1][-3] == 1: return 1 elif board[y - 1][x - 1][-2] == 1: return -1 else: return 0 else: return 2 #壁 nb = [[f(y, x) for x in range(0, board_n + 2)] for y in range(0, board_n + 2)] #print(nb) if t != board_n * board_n: igo_library.put(nb, (t // board_n) + 1, (t % board_n) + 1, bc) #print('to_nb',nb) def g(y, x): #最後にcが打った状態、なので、次の手番は-c #print(y,x,nb[y+1][x+1],(1 if nb[y+1][x+1]==1 else 0)) return (board[y][x][2:-1] + [(1 if nb[y + 1][x + 1] == 1 else 0), (1 if nb[y + 1][x + 1] == -1 else 0), -bc]) res = [[g(y, x) for x in range(0, board_n)] for y in range(0, board_n)] #print('board',board) #print('res',res) return res
def func(board, y, x): global gc def f(y, x): if 0 < y and y <= board_n and 0 < x and x <= board_n: return board[y - 1][x - 1] else: return 2 #壁 nb = [[f(y, x) for x in range(0, board_n + 2)] for y in range(0, board_n + 2)] igo_library.put(nb, y + 1, x + 1, gc) gc *= -1 res = [[nb[y + 1][x + 1] for x in range(0, board_n)] for y in range(0, board_n)] return res