本文整理汇总了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()