evaluator = Evaluator() cards = ['Ah', 'Kh', 'Qh', 'Jh', 'Th', '9h', '8h', '7h', '6h', '5h', '4h', '3h', '2h'] perms = [] for i in xrange(len(cards)): for j in xrange(i, len(cards)): for k in xrange(j, len(cards)): perms.append([Card.new(cards[i]), Card.new(cards[j]), Card.new(cards[k])]) front_lookup = {} for perm in perms: # Add the two lowest unpairing cards hand = copy(perm) hand.append(get_lowest_unpairing_card(hand)) hand.append(get_lowest_unpairing_card(hand)) prime_prod = Card.prime_product_from_hand(perm) rank = evaluator.evaluate(hand, []) + 1 kicker = Card.get_rank_int(perm[0]) * 0.01 + \ Card.get_rank_int(perm[1]) * 0.0001 + \ Card.get_rank_int(perm[2]) * 0.000001 front_lookup[prime_prod] = rank - kicker with open('res/front_lookup.p', 'wb') as f: pickle.dump(front_lookup, f)
def _three(self, cards): prime = Card.prime_product_from_hand(cards) return FRONT_LOOKUP[prime]
def _three(self, cards): prime = Card.prime_product_from_hand(cards) return FRONT_LOOKUP[prime]
'2h' ] perms = [] for i in xrange(len(cards)): for j in xrange(i, len(cards)): for k in xrange(j, len(cards)): perms.append( [Card.new(cards[i]), Card.new(cards[j]), Card.new(cards[k])]) front_lookup = {} for perm in perms: # Add the two lowest unpairing cards hand = copy(perm) hand.append(get_lowest_unpairing_card(hand)) hand.append(get_lowest_unpairing_card(hand)) prime_prod = Card.prime_product_from_hand(perm) rank = evaluator.evaluate(hand, []) + 1 kicker = Card.get_rank_int(perm[0]) * 0.01 + \ Card.get_rank_int(perm[1]) * 0.0001 + \ Card.get_rank_int(perm[2]) * 0.000001 front_lookup[prime_prod] = rank - kicker with open('res/front_lookup.p', 'wb') as f: pickle.dump(front_lookup, f)