def simulate(filename = "postturn_values", trials = 0): #mat = [] #for j in range(19): # mat.append([0,0,0]) mat = pickle.load(open(filename, "rb")) for i in range(trials): theDeck = cards.Deck() theDeck.shuffle() herohand = cards.Hand() adversaryhand = cards.Hand() table = cards.Hand() for j in range(2): herohand.add_card(theDeck.deal_card()) adversaryhand.add_card(theDeck.deal_card()) for j in range(4): table.add_card(theDeck.deal_card()) handscore = afterflop_sim.getHandCode(herohand, table) # evaluating results of hand table.add_card(theDeck.deal_card()) result = hands.compare_hands(herohand, adversaryhand, table) if result == 'left': mat[handscore][0] += 1 elif result == 'none': mat[handscore][1] += 1 elif result == 'right': mat[handscore][2] += 1 print mat pickle.dump(mat, open(filename, "wb"))
def getStrength(hand, table, filename = "postturn_values"): mat = pickle.load(open(filename, "rb")) code = afterflop_sim.getHandCode(hand, table) chances = mat[code] s = chances[0] + chances[1] + chances[2] return [chances[0] / float(s), chances[1] / float(s), chances[2] / float(s)]