def calculateOdds(player1, player2, stage): tempCard = Card(1, 2) #print player2.status.vec_cards #print player1.status.vec_cards myCards = [ tempCard.num_to_card(num) for num in all_indices(1, player1.status.vec_cards[0]) ] #myCards = Card.num_to_card(self.status.vec_cards[0]) opCards = [ tempCard.num_to_card(num) for num in all_indices(1, player2.status.vec_cards[0]) ] args = [ tempCard.getCardOfNumA(myCard.num) + tempCard.getCharOfSuit(myCard.suit) for myCard in myCards ] args += [ tempCard.getCardOfNumA(myCard.num) + tempCard.getCharOfSuit(myCard.suit) for myCard in opCards ] args += ["--"] if stage >= 1: flopCards = [ tempCard.num_to_card(num) for num in all_indices(1, player1.status.vec_cards[1]) ] args += [ turnCard.getCardOfNumA(turnCard.num) + turnCard.getCharOfSuit(turnCard.suit) for turnCard in flopCards ] if stage >= 2: turnCards = [ tempCard.num_to_card(num) for num in all_indices(1, player1.status.vec_cards[2]) ] args += [ turnCard.getCardOfNumA(turnCard.num) + turnCard.getCharOfSuit(turnCard.suit) for turnCard in turnCards ] if stage >= 3: #should be just one riverCards = [ tempCard.num_to_card(num) for num in all_indices(1, player1.status.vec_cards[3]) ] args += [ turnCard.getCardOfNumA(turnCard.num) + turnCard.getCharOfSuit(turnCard.suit) for turnCard in riverCards ] #print check_output(["pokenum.exe", "-h"] + args) return [ float(num) for num in (check_output(["pokenum.exe", "-h", "-t"] + args).split()[2:]) ]
def calculateOddsWithGame(game, playerNum): tempCard = Card(1, 2) myCards = game.players[playerNum].cards opCards = game.players[not playerNum].cards args = [ tempCard.getCardOfNumA(myCard.num) + tempCard.getCharOfSuit(myCard.suit) for myCard in myCards ] args += [ tempCard.getCardOfNumA(myCard.num) + tempCard.getCharOfSuit(myCard.suit) for myCard in opCards ] args += ["--"] args += [ tableCards.getCardOfNumA(tableCards.num) + tableCards.getCharOfSuit(tableCards.suit) for tableCards in game.table ] return [ float(num) for num in (check_output(["pokenum.exe", "-h", "-t"] + args).split()[2:]) ]