当前位置: 首页>>代码示例>>Python>>正文


Python Grid.check_win方法代码示例

本文整理汇总了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,
                )
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:44,代码来源:game.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:38,代码来源:ai.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:8,代码来源:test_win_check.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:5,代码来源:test_win_check.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:8,代码来源:test_win_check.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:8,代码来源:test_win_check.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:8,代码来源:test_win_check.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:8,代码来源:test_win_check.py

示例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
开发者ID:shanesatterfield,项目名称:tic-tac-toe,代码行数:8,代码来源:test_win_check.py


注:本文中的grid.Grid.check_win方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。