Ejemplo n.º 1
0
	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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
	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