Example #1
0
 def test_suggests_counter_offense(self):
     red_team = RedTeam(
         ['hanzo', 'lucio', 'reaper', 'genji', 'mei', 'reinhardt'])
     blue_team = BlueTeam(
         ['mercy', 'reinhardt', 'hanzo', 'widowmaker', 'bastion'])
     hero_picker = HeroPicker(red_team, blue_team)
     self.assertEqual(['pharah'], hero_picker.pick())
Example #2
0
 def test_suggests_counter_tank(self):
     red_team = RedTeam(
         ['hanzo', 'lucio', 'reaper', 'genji', 'tracer', 'reinhardt'])
     blue_team = BlueTeam(
         ['mercy', 'genji', 'hanzo', 'widowmaker', 'mccree'])
     hero_picker = HeroPicker(red_team, blue_team)
     self.assertEqual(['dva'], hero_picker.pick())
Example #3
0
 def test_suggests_defense_on_defense(self):
     red_team = RedTeam([])
     blue_team = BlueTeam(
         ['pharah', 'mercy', 'roadhog', 'dva', 'soldier76'])
     hero_picker = HeroPicker(red_team, blue_team, attacking=False)
     self.assertTrue(hero_picker.defending(), 'expected to be defending')
     picks = hero_picker.pick()
     self.assertNotEqual(0, len(picks))
     for hero in picks:
         self.assertTrue(hero in Roles.defense,
                         'expected ' + hero + ' to be a defense hero')
Example #4
0
    def test_defending(self):
        hero_picker = HeroPicker(RedTeam([]), BlueTeam([]))
        self.assertFalse(hero_picker.defending())

        hero_picker = HeroPicker(RedTeam([]), BlueTeam([]), attacking=True)
        self.assertFalse(hero_picker.defending())

        hero_picker = HeroPicker(RedTeam([]), BlueTeam([]), attacking=False)
        self.assertTrue(hero_picker.defending())
Example #5
0
if hero_detector.is_cards_screen:
    print 'Screenshot is of game-over screen with voting cards'

if hero_detector.resized_w != hero_detector.original_w:
    print 'Resized original image from', str(hero_detector.original_w) + 'x' + \
      str(hero_detector.original_h), 'to', str(hero_detector.resized_w) + 'x' + \
      str(hero_detector.resized_h), '\n'

print 'Red team:', team_detector.red_team
print 'Blue team:', team_detector.blue_team

player = team_detector.blue_team.player()
if player is None:
    print 'Player not detected!'
else:
    print 'Player is', player

output_path = 'res.png'
cv2.imwrite(output_path, team_detector.hero_detector.original)
print '\nLook at', output_path, 'to see Overwatch hero detection\n'

hero_picker = HeroPicker(team_detector.red_team, team_detector.blue_team)
picks = hero_picker.pick()
if len(picks) < 2:
    if player is not None and player == picks[0]:
        print 'Your choice of', player, 'is spot on!'
    else:
        print 'Play', picks[0]
else:
    print 'Play one of:', ', '.join(picks)
def get_pick_record_from_screenshot(screenshot_path):
    team_detector = get_team_detector(screenshot_path)
    hero_picker = HeroPicker(team_detector.red_team, team_detector.blue_team)
    picks = hero_picker.pick()
    return save_picks_to_database(picks, team_detector)
Example #7
0
 def test_suggests_offense(self):
     red_team = RedTeam([])
     blue_team = BlueTeam(['dva', 'zenyatta', 'mercy', 'roadhog', 'mei'])
     hero_picker = HeroPicker(red_team, blue_team)
     self.assertEqual(['pharah', 'soldier76'], hero_picker.pick())
Example #8
0
 def test_suggests_healer(self):
     red_team = RedTeam([])
     blue_team = BlueTeam(['dva', 'roadhog', 'reinhardt', 'genji', 'mei'])
     hero_picker = HeroPicker(red_team, blue_team)
     self.assertEqual(['mercy'], hero_picker.pick())