Exemple #1
0
def testWinRate(list, showCards='', totalNum=1000, toDealNum=None):
    assert len(list) >= 2
    deck = Deck()
    ls = []
    players = []
    for s in list:
        p1 = Player()
        if type(s) == str:
            p1.hands = Card.arrayFromString(s)
        elif type(s) == Player:
            p1 = s
        else:
            raise 'Error'
        players.append(p1)
    deck.removeCardsFromPlayers(players)
    sl = Card.arrayFromString(showCards)
    deck.showList.extend(sl)
    deck.removeCards(sl)
    winNum = caculcateWinRateBy(deck, players, totalNum, toDealNum)
    if __name__ == '__main__':
        for player in players:
            print('%s %.1f' % (str(player.hands[0]) + str(player.hands[1]),
                               player.winRate * 100) + '%',
                  end='  ')
    return winNum
Exemple #2
0
def testWinRate(handsList, showCards=''):
    assert len(handsList) >= 2
    deck = Deck()
    ls = []
    players = []
    for s in handsList:
        p1 = Player()
        p1.hands = Card.arrayFromString(s)
        players.append(p1)
    deck.removeCardsFromPlayers(players)
    sl = Card.arrayFromString(showCards)
    deck.showList.extend(sl)
    deck.removeCards(sl)
    winRateList = caculcateWinRateBy(deck, players)
    for player in players:
        print(
            '%s %.1f' %
            (str(player.hands[0]) + str(player.hands[1]), player.winRate * 100)
            + '%',
            end='  ')
Exemple #3
0
def topHandsResult(k=0.25):
    if type(k) == float:
        k = int(169 * k)
    ratedb = mongo.generateDB(rangee='169')
    res = ratedb.find({}).sort([('winRate0', -1)])
    handsResult = set()
    for i in range(0, k):
        hands = Card.arrayFromString(res[i]['hands'])
        handsResult.add(hands)
        if __name__ == '__main__':
            print(res[i]['hands'], end=' ')
    return handsResult