Revisão | 8059291464c3f1aa60062c5017b092e6998c731a (tree) |
---|---|
Hora | 2018-01-10 08:34:37 |
Autor | yamat0jp <yamat0jp@yaho...> |
Commiter | yamat0jp |
どうしても弱かったので角っこの周辺に置きにくいように教えました。
僕が間違っていたと思います。このアルゴリズムでは強いオセロAIはできません。たぶん。
@@ -66,8 +66,7 @@ class Comp(): | ||
66 | 66 | s = False |
67 | 67 | break |
68 | 68 | elif temp[i][j] == 1: |
69 | - k += 1 | |
70 | - | |
69 | + k += 1 | |
71 | 70 | if s == False: |
72 | 71 | break |
73 | 72 | if (s == True)and(k > 32): |
@@ -216,18 +216,27 @@ def hyouka(): | ||
216 | 216 | i = 0 |
217 | 217 | x = stone_grid.item |
218 | 218 | corner = [x.grid[0][0],x.grid[0][7],x.grid[7][0],x.grid[7][7]] |
219 | + n_corner = [x.grid[0][1],x.grid[1][0],x.grid[1][1], | |
220 | + x.grid[7][7],x.grid[6][7],x.grid[7][6], | |
221 | + x.grid[0][6],x.grid[1][7],x.grid[6][6], | |
222 | + x.grid[6][0],x.grid[7][1],x.grid[6][1]] | |
219 | 223 | for y in corner: |
220 | 224 | if y == black: |
221 | - i += 2 | |
225 | + i += 4 | |
222 | 226 | elif y == white: |
223 | - i -= 2 | |
227 | + i -= 4 | |
228 | + for y in n_corner: | |
229 | + if y == black: | |
230 | + i -= 1 | |
231 | + elif y == white: | |
232 | + i += 1 | |
224 | 233 | corner = [(0,0),(0,7),(7,0),(7,7)] |
225 | 234 | for y in corner: |
226 | 235 | if stone_grid.CanSetStone(black,y[0],y[1],False) == True: |
227 | - i += 1 | |
236 | + i += 2 | |
228 | 237 | stone_grid.item.grid[y[0]][y[1]] = none |
229 | 238 | elif stone_grid.CanSetStone(white,y[0],y[1],False) == True: |
230 | - i -= 1 | |
239 | + i -= 2 | |
231 | 240 | stone_grid.item.grid[y[0]][y[1]] = none |
232 | 241 | return i |
233 | 242 |