def get_bank(self): x0, y0 = self.marker x1, y1, x2, y2 = self.s.bank_offset area = imf.get_screenshot().crop((x0 + x1, y0 + y1, x0 + x2, y0 + y2)) str = imf.ocr(area) if str: str = str.replace('$', '') if str.isdigit(): return int(str)
def get_money(self, rectangle): rect = () for i in xrange(0, len(rectangle)): rect += (rectangle[i] + self.marker[i % 2], ) area = imf.get_screenshot().crop(rect) str = imf.ocr(area) #print('Recognized area: {}'.format(str)) if str: if str[0] == '$': str = str[1:] if str.isdigit(): return int(str)
def wait_for_decision(self, game_state): fold_im = imf.button_images['fold'] x1, y1, x2, y2, x3, y3 = self.marker + self.s.buttons['fold'] + fold_im.size while not imf.check_equal(fold_im, imf.get_screenshot().crop((x1 + x2, y1 + y2, x1 + x2 + x3, y1 + y2 + y3))): n_table_cards = len(self.get_table_cards()) table_changed = n_table_cards == 0 and len(game_state.table_cards) > 0 new_player_cards = self.get_player_cards() player_cards_changed = len(new_player_cards) != len(game_state.player.cards) if not player_cards_changed: for i in range(0, 2): if new_player_cards[i].__str__() != game_state.player.cards[i].__str__(): player_cards_changed = True break if table_changed or player_cards_changed: # TODO: call one method to reset round game_state.stage = poker.stages.nocards game_state.player.cards = [] break; time.sleep(0.47) game_state.need_decision = True game_state.can_check = self.contains_button('check', self.s.buttons['check']) print('DEBUG: fold available (or round end)')