本文整理汇总了Python中game_state.GameState.game_on方法的典型用法代码示例。如果您正苦于以下问题:Python GameState.game_on方法的具体用法?Python GameState.game_on怎么用?Python GameState.game_on使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类game_state.GameState
的用法示例。
在下文中一共展示了GameState.game_on方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: play_game
# 需要导入模块: from game_state import GameState [as 别名]
# 或者: from game_state.GameState import game_on [as 别名]
def play_game(away_team, home_team, starting_inn=1):
"""Run a single simulation between two teams."""
gs = GameState(away_team, home_team, starting_inn)
# play the game
while gs.game_on():
# play innings
# test for stolen bases, pitcher replacement, etc
stolen_base = steal_base(gs) # returns index of runner that's attempting
if stolen_base >= 0:
ran = r.rand()
# if it's a success, give it to them. If not, they're out.
if ran < gs.bases[stolen_base].get_stolen_base_chance()['success']:
gs.add_stolen_base(stolen_base)
else:
gs.remove_runner(stolen_base)
continue
# test if pitcher replaced
if gs.get_stage() == 'top':
if home_team.get_pitcher() == home_team.get_starting_pitcher():
if replace_pitcher(gs, home_team.get_pitcher()):
home_team.replace_pitcher('Relief')
continue
elif gs.get_stage() == 'bot':
if away_team.get_pitcher() == away_team.get_starting_pitcher():
if replace_pitcher(gs, away_team.get_pitcher()):
away_team.replace_pitcher('Relief')
# compute batter outcomes
if gs.get_stage() == 'top':
batter = away_team.get_player(gs.batting_pos[0])
pitcher = home_team.get_pitcher()
outcome = play_batter(gs, batter, pitcher, home_team.get_name())
else:
batter = home_team.get_player(gs.batting_pos[1])
pitcher = away_team.get_pitcher()
outcome = play_batter(gs, batter, pitcher, home_team.get_name())
gs.update_game(outcome, batter, pitcher)
return gs.get_game_stats()