Example #1
0
 def check_steals(self):
     # reassign on_base values
     if self.on_base[0] and (not any([self.on_base[i] for i in [1, 2]])):
         player_on_first = self.teams[self.away_at_bat].fetch_player_by_id(self.on_base[0])
         prob_sb = player_on_first.probs["prob_SB"]
         prob_cs = player_on_first.probs["prob_CS"]
         outcome_list = [1.0 - (prob_sb - prob_cs), prob_sb, prob_cs]
         outcome_list = [o / sum(outcome_list) for o in outcome_list]
         outcome = misc.random_pick([None, "SB", "CS"], outcome_list)
         if outcome == "SB":
             self.on_base[1] = self.on_base[0]
             self.on_base[0] = False
             self.teams[self.away_at_bat].add_stat(player_on_first.player_id, "SB")
         elif outcome == "CS":
             self.on_base[0] = False
             self.teams[self.away_at_bat].add_stat(player_on_first.player_id, "CS")
             self.outs += 1
     return None
Example #2
0
 def draw_ab_result(self):
     probs_list = self.get_probs_list()
     at_bat_result = misc.random_pick(params.outcomes, probs_list)
     return at_bat_result