本文整理汇总了Python中grid.Grid.check_win方法的典型用法代码示例。如果您正苦于以下问题:Python Grid.check_win方法的具体用法?Python Grid.check_win怎么用?Python Grid.check_win使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类grid.Grid
的用法示例。
在下文中一共展示了Grid.check_win方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: on_mouse_release
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def on_mouse_release(self, x, y, button, modifiers):
if button == pyglet.window.mouse.LEFT and not self.game_over:
try:
self.grid = Grid.make_move(
(self.grid_height - y) // self.tile_height, x // self.tile_width, self.grid, self.first_player
)
winner = Grid.check_win(self.grid)
self.first_player = not self.first_player
self.dispatch_event("on_draw")
self.flip()
if winner == 0:
r, c = self.ai.make_move(self.grid, self.first_player)
self.grid = Grid.make_move(r, c, self.grid, self.first_player)
self.first_player = not self.first_player
self.dispatch_event("on_draw")
self.flip()
except Exception as e:
print(e)
winner = Grid.check_win(self.grid)
if winner != 0:
label_text = None
if winner == -1:
label_text = "Tie!"
else:
label_text = "Player {} won!".format(winner)
self.game_over = True
self.label = pyglet.text.Label(
label_text,
font_name="Arial",
font_size=45,
x=self.width // 2,
y=self.height // 2,
anchor_x="center",
anchor_y="center",
color=(0, 0, 0, 255),
bold=True,
)
示例2: minimax
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def minimax( grid, depth, alpha, beta, this_player, curr_player ):
# Check if the game is over and return the value.
winner = Grid.check_win( grid )
if winner != 0:
if winner == -1:
return depth
elif winner == int(not this_player)+1:
return 100 - depth
else:
return -100 + depth
grid = copy.deepcopy(grid)
# Maximizing
if curr_player is this_player:
v = float('-inf')
for n in Grid.open_spaces(grid):
temp = Minimax.minimax(Grid.make_move(n[0], n[1], grid, curr_player), depth+1, alpha, beta, this_player, not curr_player)
v = max(v, temp)
alpha = max(alpha, v)
if alpha >= beta:
break
return v
# Minimizing
else:
v = float('inf')
for n in Grid.open_spaces(grid):
temp = Minimax.minimax(Grid.make_move(n[0], n[1], grid, curr_player), depth+1, alpha, beta, this_player, not curr_player)
v = min(v, temp)
beta = min(beta, v)
if beta <= alpha:
break
return v
示例3: test_case_8
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_8():
grid = [[0,0,1], [0,1,0], [1,0,0]]
assert Grid.check_win(grid) == 1
grid = [[0,0,2], [0,2,0], [2,0,0]]
assert Grid.check_win(grid) == 2
示例4: test_case_9
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_9():
grid = [[1,2,1], [2,2,1], [1,1,2]]
assert Grid.check_win(grid) == -1
示例5: test_case_6
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_6():
grid = [[0,0,1], [0,0,1], [0,0,1]]
assert Grid.check_win(grid) == 1
grid = [[0,0,2], [0,0,2], [0,0,2]]
assert Grid.check_win(grid) == 2
示例6: test_case_5
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_5():
grid = [[0,1,0], [0,1,0], [0,1,0]]
assert Grid.check_win(grid) == 1
grid = [[0,2,0], [0,2,0], [0,2,0]]
assert Grid.check_win(grid) == 2
示例7: test_case_1
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_1():
grid = [[1,1,1], [0,0,0], [0,0,0]]
assert Grid.check_win(grid) == 1
grid = [[2,2,2], [0,0,0], [0,0,0]]
assert Grid.check_win(grid) == 2
示例8: test_case_4
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_4():
grid = [[1,0,0], [1,0,0], [1,0,0]]
assert Grid.check_win(grid) == 1
grid = [[2,0,0], [2,0,0], [2,0,0]]
assert Grid.check_win(grid) == 2
示例9: test_case_3
# 需要导入模块: from grid import Grid [as 别名]
# 或者: from grid.Grid import check_win [as 别名]
def test_case_3():
grid = [[0,0,0], [0,0,0], [1,1,1]]
assert Grid.check_win(grid) == 1
grid = [[0,0,0], [0,0,0], [2,2,2]]
assert Grid.check_win(grid) == 2