Esempio n. 1
0
def autoReduceRange(cur=170, step=5, limit=300000, target=50, postfix=''):
    ls2 = hands_range.getRangeHands(cur)
    while True:
        db = mongo.generateDB(rangee=str(cur))
        r = db.find_one({'hands': 'AA'})
        if r and r['totalNum'] >= limit:
            ls2 = hands_range.reduceHands(cur)
            cur -= step
            continue
        updateHandsWinNumForRange(ls2, db)
Esempio n. 2
0
def getRangeHands(l=165):
    if l >= 166:
        l = 169
        return getDefault169HandsRange()
    db = mongo.generateDB(rangee=str(l))
    res = db.find({}).sort([('winRate', -1)])
    result = []
    for data in res:
        result.append(data['hands'])
    return result
Esempio n. 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
Esempio n. 4
0
def reduceHands(fromRange=165, step=5, winRate='winRate0', postfix=''):
    length = fromRange - step
    dbfrom = mongo.generateDB(playerNum=2,
                              rangee=str(fromRange),
                              postfix=postfix)
    res = mongo.getSortedData(dbfrom, winRate, -1)
    result = []
    for data in res:
        result.append(data['hands'])
    if __name__ == '__main__':
        print(result[0:length])
    return result[0:length]
Esempio n. 5
0
def updateResultStatisData(handsRange=170,
                           playerNum=2,
                           step=5,
                           limit=1000000,
                           target=80,
                           postfix='NoneHigh'):
    ls = hands_range.getRangeHands(handsRange)
    t1 = time.time()
    while True:
        db = mongo.generateDB(playerNum=playerNum,
                              rangee=str(handsRange),
                              postfix=postfix)
        r = db.find_one({'hands': 'AA'})
        if r and r['totalNum'] >= limit:
            ls = hands_range.reduceHands(handsRange, postfix=postfix)
            handsRange -= step
            continue
        print('%.1f' % (time.time() - t1), len(ls))
        t1 = time.time()
        updateHandsWinNumForRange(ls, playerNum, db)