X,Y = np.array(X_train),np.array(Y_train)
X = np.reshape(X,[1,64])
Y = np.reshape(Y,[1,64])
- self.model1.fit(X,Y)
+ j = np.argmax(Y)
+ for i in range(10):
+ self.model1.fit(X,Y)
+ res = self.model1.predict(X,1)
+ s = np.argmax(res)
+ if s == j:
+ break
+ else:
+ s = j
hdf5_file = './sente-model.hdf5'
self.model1.save_weights(hdf5_file)
- res = self.model1.predict(X,1)
- i = np.argmax(res)
- print(res,i)
- return [i % 8, i // 8]
+ return [s // 8, s % 8]
def gote_stone(self,X_train,Y_train):
X,Y=np.array(X_train),np.array(Y_train)
X = np.reshape(X,[1,64])
Y = np.reshape(Y,[1,64])
- self.model2.fit(X,Y)
+ j = np.argmax(Y)
+ for i in range(10):
+ self.model2.fit(X,Y)
+ res = self.model2.predict(X,1)
+ s = np.argmax(res)
+ if j == s:
+ break
+ else:
+ s = j
hdf5_file ='./gote-model.hdf5'
self.model2.save_weights(hdf5_file)
- res = self.model2.predict(X,1)
- i = np.argmax(res)
- return [i % 8, i // 8]
+ return [s // 8, s % 8]
pre = comp.sente_stone(stone_grid.item.grid,stone_grid.arr.grid)
elif index.stone == white:
pre = comp.gote_stone(stone_grid.item.grid,stone_grid.arr.grid)
- print(pre,'hit!')
- if stone_grid.CanSetStone(index.stone, pre[0], pre[1], True) == False:
- print(pre,'=>',pos)
- stone_grid.CanSetStone(index.stone, pos[0], pos[1], True)
+ stone_grid.CanSetStone(index.stone, pre[0], pre[1], True)
+ print(pre)
stone_grid.active = True
player1 = Player()
player2 = Player()
index = player1
player1.stone = black
-player1.auto = False
+player1.auto = True
player2.auto = True
player2.stone = white
stone_grid = StoneGrid()
pygame.event.get()
temp = pygame.time.get_ticks()
Paint()
+tt = (player1.auto == True)and(player2.auto == True)
while True:
if pygame.time.get_ticks()-temp > 300:
if (stone_grid.active == True)and(index.auto == True):
if x.type == QUIT:
sys.exit()
t = pygame.mouse.get_pressed()[0]
- tt = (player1.auto == True)and(player2.auto == True)
- if (stone_grid.gameover == True)and(t == True)or(tt == True):
+ if (stone_grid.gameover == True)and((t == True)or(tt == True)):
stone_grid.Start()
if (index.auto == False)and(stone_grid.active == True)and(t == True):
stone_grid.active = False