def getRandomBet(lv): data = CfgTable.load(CfgTable.CFG_LEVEL_BET) ok_bet = [] for d in data: if lv >= int(d['level']): ok_bet.append(int(d['bet'])) return random.choice(ok_bet)
def getRandomMachineId(lv): data = CfgTable.load(CfgTable.CFG_MACHINE_INFO) pool = [] for d in data: if lv >= int(d['unlock_level']): pool.append(int(d['id'])) return random.choice(pool)
def getMaxBet(lv): data = CfgTable.load(CfgTable.CFG_LEVEL_BET) ok_bet = [] for d in data: if lv >= int(d['level']): ok_bet.append(int(d['bet'])) return max(ok_bet)
def isBetValid(lv, bet): data = CfgTable.load(CfgTable.CFG_LEVEL_BET) ok_bet = [] for d in data: if lv >= int(d['level']): ok_bet.append(int(d['bet'])) return bet in ok_bet
def getMediumBet(lv): data = CfgTable.load(CfgTable.CFG_LEVEL_BET) ok_bet = [] for d in data: if lv >= int(d['level']): ok_bet.append(int(d['bet'])) i = len(ok_bet) / 2 return ok_bet[i]
def refresh(cls): for data in CfgTable.load(CfgTable.CFG_TOURNAMENT): tid = int(data['tid']) base_prize = int(data['prize']) total_time = int(data['time']) print 'tid:%s base_prize:%s, total_time=%s' % (tid, base_prize, total_time) tour = Tournament(tid) if not tour.exists(): print 'create tour' tour.reset() elif tour.isEnd(total_time): print "rewarding tid=%d"%tid tour.reward(base_prize) print 'recreate tour' tour.reset()
def load(cls, para): uid = para['uid'] ret = [] for data in CfgTable.load(CfgTable.CFG_TOURNAMENT): tid = int(data['tid']) base_prize = int(data['prize']) tour = Tournament(tid) if not tour.exists(): continue info = tour.getRangeInfo(uid) info['prize'] += base_prize info['tid'] = tid info['name'] = data['name'] total_time = int(data['time']) info['total_time'] = total_time left_time = tour.start_time + total_time - int(time.time()) if left_time < 0: left_time = 0 """ print 'tid:', tid print 'start_time', tour.start_time print 'now:', int(time.time()) print 'left_time', left_time print 'total_time', total_time """ info['left_time'] = left_time ret.append(info) ret = sorted(ret, key = lambda x: x['tid']) return {'tournament_info':ret}