def createLikelyHandSeries(rowPosition, TrainingSetHoleCards, TrainingSetTableCards=None): #take in hand, compute likely outcome for each hand if TrainingSetTableCards is None: #handStats = holdem_calc.calculate(['Ah', 'Td', '5c'], True, 1, None, ['9d', ' 7d'], True) #winningPercentages, playerHistograms = holdem_calc.calculate(None, True, 1, None, TrainingSetHoleCards, True) #print winningPercentages, playerHistograms print holdem_calc.calculate(None, True, 1, None, TrainingSetHoleCards, True) return None
def Pokert_card_map(output_map, list_show): new_map = output_map.copy() none_output = holdem_calc.calculate(None, True, 1, None, list_show, False) for user in new_map: new_map[user] = none_output[new_map[user]] print(output_map) return new_map
def give_to_prossess(sub_df): output_map = {} sub_df = modify_card(sub_df) list_show = [] player_counter = 1 for index, row in sub_df.iterrows(): if str(row['idk']) != 'nan': output_map[row['User_ID']] = player_counter player_counter = player_counter + 1 print(row['Current_Card']) for i in row['Current_Card']: list_show.append(i) print(list_show) print(output_map) Pokert_card = Pokert_card_map(output_map, list_show) for index, row in sub_df.iterrows(): if (row['User_ID'] in Pokert_card) and (str( row['Current_Card']) == 'Empty') and (str(row['Current_Round']) == 'POCKET CARDS'): sub_df.at[index, 'Equity'] = Pokert_card[row['User_ID']] for index, row in sub_df.iterrows(): if (row['User_ID'] in output_map) and (str(row['Current_Card']) != 'Empty') and ( str(row['Action']) != 'Show' and str(row['Action']) != 'Does not show'): player_order = output_map[row['User_ID']] print(player_order) print(str(row['Current_Card']) + str(list_show)) print(index) sub_df.at[index, 'Equity'] = holdem_calc.calculate( row['Current_Card'], True, 1, None, list_show, False)[player_order] print(sub_df) return sub_df
def zračunaj_verjetnost_zmage(self): """Izračuna približno verjetnost zmage igralca s pomočjo simulacije.""" karti_igralca = self.karte karta_1 = spremeni_zapis_kart().get(karti_igralca[0]) karta_2 = spremeni_zapis_kart().get(karti_igralca[1]) holdem = holdem_calc.calculate(None, False, 5, None, [karta_1, karta_2, "?", "?"], False) return holdem[1]
def calc_win_prob(hole_cards, board_cards, data): """ Calculate the probability to win current players. Compute the probability to win one player first And then take the power of virtual player count """ cards_to_evaluate = hole_cards + ["?", "?"] exact_calc = True verbose = True # claculate probability to win a player win_one_prob = holdem_calc.calculate(board_cards, exact_calc, 1, None, cards_to_evaluate, verbose) win_all_prob = (win_one_prob[0] + win_one_prob[1]) ** virtual_player_count(data) print "==== Win probability ==== " + str(win_all_prob) return win_all_prob
def calculate_equities(board, holdings, num_sims): # HACK to make it work with holdem_calculate # TODO:relies on dict ordering, change ASAP holding_list = [ val for sublist in [x.get_card_str() for x in holdings.values()] for val in sublist ] sim_output = holdem_calc.calculate(board, False, num_sims, None, holding_list, False) players = list(holdings.keys()) equities = {} equities['tie'] = sim_output[0] i = 1 for player in players: equities[player] = round(sim_output[i], 3) i += 1 return equities
firstsuit_player1 = 's' secondsuit_player1 = 's' else: firstsuit_player1 = 's' secondsuit_player1 = 'h' if (player2_suitcombos[player2_suitcombo] == 's'): firstsuit_player2 = 'd' secondsuit_player2 = 'd' else: firstsuit_player2 = 'd' secondsuit_player2 = 'c' #print(ranks[firstrank_player1] + firstsuit_player1 + ranks[secondrank_player1] + secondsuit_player1 + ' ' + ranks[firstrank_player2] + firstsuit_player2 + ranks[secondrank_player2] + secondsuit_player2) count = count + 1 probs = holdem_calc.calculate( None, False, 10000, None, [ ranks[firstrank_player1] + firstsuit_player1, ranks[secondrank_player1] + secondsuit_player1, ranks[firstrank_player2] + firstsuit_player2, ranks[secondrank_player2] + secondsuit_player2 ], False) equities[ranks[firstrank_player1] + ranks[secondrank_player1] + player1_suitcombos[player1_suitcombo] + ' ' + ranks[firstrank_player2] + ranks[secondrank_player2] + player2_suitcombos[player2_suitcombo]] = ( (probs[0] / 2) + probs[1]) if (count % 100 == 0): print('{} combos processed'.format(count)) saveDict(equities, 'equities')
file_path = 'C:\\Users\\moliu\\Desktop\\Texas Holdem\\ProbabilityofWinning\\holdem_calc-master\\' offsuitedpath = file_path + 'off_suited_hands.txt' suitedpath = file_path + 'suited_hands.txt' #calculate winning probability of different off suit hands ohandsList = [] for l in open(offsuitedpath): row = [x for x in l.split()] if len(row) > 0: ohandsList.append(row) probabilityList = [] for eachHand in shandsList: print(eachHand) sprobabilityList.append( holdem_calc.calculate(None, False, 200, None, eachHand, False)) #calculate winning probability of different suited hands shandsList = [] for l in open(suitedpath): row = [x for x in l.split()] if len(row) > 0: shandsList.append(row) sprobabilityList = [] for eachHand in shandsList: print(eachHand) sprobabilityList.append( holdem_calc.calculate(None, False, 200, None, eachHand, False)) #sort data