Exemplo n.º 1
0
    def push(self, data):
        t = data['type']
        key = self.genKey(t)

        if t == self.TYPE_TOURNAMENT:
            DB.get_list(key).append(json.dumps(data))
        else:
            DB.Redis().hincrby(key, t)
Exemplo n.º 2
0
    def doPlay(self, idx):
        cur_step = self.step
        if self.step is None or cur_step >= self.MAX_STEP:
            return False

        seq_key = self.genRkey("seq:%s:%s" % (self.uid_, self.mid_))
        seq = DB.get_list(seq_key)

        number = int(random.choice(list(seq)))

        cur_step += 1
        self.set("s_idx:%s" % cur_step, idx)
        self.set("s_val:%s" % cur_step, number)

        seq.remove(number)
        self.step = cur_step

        total_rate = self.rate + number
        self.rate = total_rate

        left = list(seq)

        win = 0

        bet = self.bet
        if cur_step >= self.MAX_STEP:
            win = total_rate * bet
            self.remove()

            share = UserShareGift(self.uid_)
            share.setFlag(UserShareGift.TYPE_BONUS)

        return (bet, number, win, left)
Exemplo n.º 3
0
    def get(self):
        key = self.genKey(self.TYPE_TOURNAMENT)
        data = [json.loads(i) for i in DB.get_list(key)]


        key = self.genKey(self.TYPE_SHAREGIFT)
        h = DB.get_hash(key)

        for k in h.keys():
            data.append({'type':k, 'counter':h[k]})

        self.clear()
        return data
Exemplo n.º 4
0
    def doPlay(self):
        cur_step = self.step
        if self.step is None or cur_step >= self.MAX_STEP:
            return False

        cur_step += 1
        seq_key = self.genRkey("seq:%s:%s:%s" % (self.uid_, self.mid_, cur_step))
        seq = DB.get_list(seq_key)

        number = int(random.choice(list(seq)))

        # self.set('s_idx:%s'% cur_step, idx)
        # self.set('s_val:%s'% cur_step, number)

        # seq.remove(number)
        self.step = cur_step

        if number != self.TRAP:
            total_rate = self.rate + number
            self.rate = total_rate

        win = 0

        left = []
        for i in range(cur_step, self.MAX_STEP + 1):
            seq_key = self.genRkey("seq:%s:%s:%s" % (self.uid_, self.mid_, i))
            seq = DB.get_list(seq_key)
            left.append(list(seq))

        bet = self.bet
        if number == self.TRAP or cur_step >= self.MAX_STEP:
            win = self.rate * bet
            self.remove()

            share = UserShareGift(self.uid_)
            share.setFlag(UserShareGift.TYPE_BONUS)

        return (bet, number, win, left)