Example #1
0
 def _choose_best_battle(self, legal_territories_to_attack):
     score = {}
     curr_score = features.evaluate_battle(self.map_layout, self.player_status, self.enemy_status)
     for (src, dest) in legal_territories_to_attack:
         battle = (src, dest)
         # score[random.random()] = battle
         score[self.be.evaluate_action(battle, self.map_layout, self.player_status, self.enemy_status)] = battle
     if len(score) == 0 or max(score) - curr_score <= 1:
         return None
     return score[max(score)]
Example #2
0
 def evaluate_action(self, action, map_layout, player_status, enemy_status): # 0.0005
     simulated_outcomes = self._simulate(action, player_status, enemy_status)
     return sum([prob*features.evaluate_battle(map_layout, sim['player_status'], sim['enemy_status']) for (prob, sim) in simulated_outcomes.iteritems()])