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


Python GameState.turn方法代码示例

本文整理汇总了Python中gamestate.GameState.turn方法的典型用法代码示例。如果您正苦于以下问题:Python GameState.turn方法的具体用法?Python GameState.turn怎么用?Python GameState.turn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gamestate.GameState的用法示例。


在下文中一共展示了GameState.turn方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: play_game

# 需要导入模块: from gamestate import GameState [as 别名]
# 或者: from gamestate.GameState import turn [as 别名]
def play_game(player_policies):
    """
    :param player_policies: List of policy classes for players X and O
     which determine how each player moves given a particular state. Each
     policy class should inherit from Policy.
    :return: Returns a NetworkX Graph object describing the game
    """
    game = GameState()

    # Keep track of the game tree
    G = nx.DiGraph()
    # Todo: use the newly implemented hashing method
    G.add_node(str(game))
    root = str(game)
    current = root

    plies = 0

    # Inform the player policies that a new game is starting (so they can reset their current move pointers)
    for player_policy in player_policies:
        if type(player_policy) is MCTSPolicy:
            player_policy.reset_game()

    while game.winner() is None:
        for player_policy in player_policies:
            plies += 1
            print("\n================ ( Ply #{}. It is {}'s move. ) ================".format(plies, game.turn()))

            game.move(*player_policy.move(game))

            previous = current
            G.add_node(str(game))
            current = str(game)
            G.add_edge(previous, current)

            if game.winner() is not None:
                break

    print('Game over. Winner is {}.'.format(game.winner()))

    return G, game.winner()
开发者ID:boruil,项目名称:Math381-Project2,代码行数:43,代码来源:gameplay.py


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