随机数--- 抽奖 根据后台设置的概率来限定抽奖结果

#pragma mark -- 处理抽奖停止结果 --
-(NSInteger )makeChouJiangResult{
    NSInteger totalNum = 0;
    NSInteger j_1 = 0;
    NSInteger j_2 = 0;
    NSInteger j_3 = 0;
    NSInteger j_4 = 0;
    NSInteger j_5 = 0;
    NSInteger j_6 = 0;
    NSInteger j_7 = 0;
    NSInteger j_8 = 0;
    for (int i = 0; i<self.arr_chouJiang.count; i++) {
        ChouJiangListMjModel *model = self.arr_chouJiang[i];
        
        NSInteger curNum = [model.c_gl floatValue] *100;
        totalNum = totalNum+ curNum;
        switch (i) {
            case 0:
            {
                j_1 = curNum;
            }
                break;
            case 1:
            {
                j_2 = curNum;
            }
                break;
            case 2:
            {
                j_3 = curNum;
            }
                break;
            case 3:
            {
                j_4 = curNum;
            }
                break;
            case 4:
            {
                j_5 = curNum;
            }
                break;
            case 5:
            {
                j_6 = curNum;
            }
                break;
            case 6:
            {
                j_7 = curNum;
            }
                break;
            case 7:
            {
                j_8 = curNum;
            }
                break;
            default:
                break;
        }
    }
    NSInteger sjNum = [self getRandomNumber:0 to:totalNum];
    NSLog(@"sjNum %ld",sjNum);
    NSLog(@"j_1 %ld",j_1);
    NSLog(@"j_2 %ld",j_2);
    NSLog(@"j_3 %ld",j_3);
    NSLog(@"j_4 %ld",j_4);
    NSLog(@"j_5 %ld",j_5);
    NSLog(@"j_6 %ld",j_6);
    NSLog(@"j_7 %ld",j_7);
    NSLog(@"j_8 %ld",j_8);
    
    if (sjNum>=0 &&sjNum<=j_1) {
        return 0;
    }else if (sjNum>j_1 &&sjNum<=j_1+j_2) {
        return 1;
    }else if (sjNum>j_1+j_2 &&sjNum<=j_1+j_2+j_3) {
        return 2;
    }else if (sjNum>j_1+j_2+j_3 &&sjNum<=j_1+j_2+j_3+j_4) {
        return 3;
    }else if (sjNum>j_1+j_2+j_3+j_4 &&sjNum<=j_1+j_2+j_3+j_4+j_5) {
        return 4;
    }else if (sjNum>j_1+j_2+j_3+j_4+j_5 &&sjNum<=j_1+j_2+j_3+j_4+j_5+j_6) {
        return 5;
    }else if (sjNum>j_1+j_2+j_3+j_4+j_5+j_6 &&sjNum<=j_1+j_2+j_3+j_4+j_5+j_6+j_7) {
        return 6;
    }else if (sjNum>j_1+j_2+j_3+j_4+j_5+j_6+j_7 &&sjNum<=j_1+j_2+j_3+j_4+j_5+j_6+j_7+j_8) {
        return 7;
    }else{
        return 0;
    }
    
    return sjNum;
}
-(NSInteger)getRandomNumber:(NSInteger)from to:(NSInteger)to{
    
    return (from + (arc4random() % (to - from + 1))); //+1,result is [from to]; else is [from, to)!!!!!!!
}

猜你喜欢

转载自blog.csdn.net/zhanglizhi111/article/details/82287624