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())
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())
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')
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())
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)
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())
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())